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