[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