AVR a dva seriaky -> SW Usart
Andrej Jancura
hw_aj@zoznam.sk
Sobota Prosinec 13 06:02:43 CET 2008
Ahojte,
Kedze tu uz dost dlho "diskutujete" o sw USART-e a myslim si, ze dost
zbytocne, tak par poznamok k jeho implementacii v asm ci C.
Ako prve si prosim najdite niekde nejaky obrazok ako funguje klasicky USART.
V datasheete od PIC je obrazok, kde je nakreslene, ze ich USART vzorkuje 16
vzoriek na bit. Potom pride k tomu este dovolena odchylka pre jeden bit a
mate vzorkovaciu frekvenciu. Toto je LIMIT, ktory je pre Vas alfou a omegou.
Takze napisat si kratku rutinku na posun bitov, ktora ho splna je uz
sikovnostou kazdeho z Vas. Moznosti je viacej, takze ta VASA realizacia je
na kazdom z Vas.
Ci C alebo ASM, zakladom je vzdy algoritmus. Jeho prepisanie do ASM byva
zvycajne najvyhodnejsie, kedze viete urobit rovno casovanie. Kompilator C
musite skontrolovat, ci vysledny kod splna casovy limit, ktory mate k
dispozicii. A tu je v pripade Vasho ospevovaneho gcc problem, pretoze kazda
verzia kompiluje inak, mozete nastavit rozne optimalizacie a pod. Ale zase
existuje moznost prelozit do asm, ci ulozit si kod do kniznice a pouzivat uz
len tento hotovy cez extern.
A.
p.s.: Verim, ze som zase trochu prispel svojou troskou na mlyn velkej
skupiny programatorskych specialistov a odbornikov... A aspon trochu
inspiroval tych par jedincov, ktori rozmyslaju vlastnou hlavou a mozgom.
Další informace o konferenci Hw-list