ATMega8 UART

Dukai Zoltan dzoolee at yunord.net
Sat Aug 16 15:24:47 CEST 2003


Lenne egy kerdesem...

a fenti problemaval kuzdok.
Abszolute nem ugy kukodik az UBRRL meghatarozas amint az a PDF_ben le
van irva. miszerint UBRR=fosc/16*baud -1
Inkabb ugy hogy a 16 heleytt korulbelul 42-es osztot kellene hasznalni.
Ezt probalgataso utjan kiserleteztem ki:
6-nal 38400-al nyomja a szoveget, mindne OK...
12-nel 19200-al muxik,
13-al is (bizonyara mindketto benne van a turesben...)
17-nel 14400-on
18-nal szinten 14400-on mar nem mukodik, kurvasokat teveszt.
25-nel megy 9600-n
26 detto
27 is
51 @ 4800
52 szinten
53 is
54 is
55 is
56 mar szar
102-nel mar megy 4800-on
112 meg jo, 113-nal mar a bitek vegeit elrontja.

igy inicializalok:
void uart_init(void)
/* initialize uart */
{
     /* enable RxD/TxD and ints */
     outp((1<<RXCIE)|(1<<TXCIE)|(1<<RXEN)|(1<<TXEN),UCSRB);
     /* set baud rate */
     UBRRL=6;
     UBRRH=0;

}


Ha valaki tudja a megoldast kerem ne tartsa magaban.
Udv






More information about the Elektro mailing list