[elektro] AVR UART UDR TX "bug"
Szima Gábor
sygma at tesla.hu
Sun Jun 12 11:13:03 CEST 2011
Sziasztok!
9600 bps UART kommunikacio AVR-el (mega168PA).
10 MHz kavics, 625 kHz-re leosztva az orajel.
A problema: az UDR-be belapatolt byte-ok nagy hezaggal mennek ki (TX).
Tehat egy byte kb. 1 ms alatt kimegy (baud rendben, PC oldal is rendesen
veszi), viszont ezt kb. 3 ms! mulva koveti a kovetkezo byte. Igy negyedere
lassul a kommunikacio.
Ha tekerek kicsit a proc orajelen (1,25 MHz), akkor javul a dolog, 2,5
MHz-en mar egesz elfogadhato.
A dolog fuggetlen attol, hogy IRQ-val vagy nelkule csinalom (UDRE bit
figyelese az UCSRA regiszterben).
Termeszetesen nem a TX veget nezem, hanem az UDR empty-t.
Tapfesz: 2,85 V (elem).
Olyan, mintha 2 egymast koveto TX byte kozott varna 1500..2000 CPU
ciklusnyit.
Mit rontok el?
-Sygma
More information about the Elektro
mailing list