ATMega8 UART

Dukai Zoltan dzoolee at yunord.net
Sat Aug 16 16:35:48 CEST 2003


En is olvastam a PDF_et, csak probaltam mar mindent...
most ez a verzio van, es a 10MHz-es kvarccal ugy mukodik mintha 4MHZ-es 
lenne...

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

}

0:           outp((1<<RXCIE)|(1<<TXCIE)|(1<<RXEN)|(1<<TXEN),UCSRB);
+00000071:   ED88        LDI     R24,0xD8         Load immediate
+00000072:   B98A        OUT     0x0A,R24         Out to I/O location
81:       	outp(0x86,UCSRC);
+00000073:   E886        LDI     R24,0x86         Load immediate
+00000074:   BD80        OUT     0x20,R24         Out to I/O location
83:       	UBRRH=0;
+00000075:   BC10        OUT     0x20,R1          Out to I/O location
84:       	UBRRL=26;
+00000076:   E18A        LDI     R24,0x1A         Load immediate
+00000077:   B989        OUT     0x09,R24         Out to I/O location
86:       }
+00000078:   9508        RET                      Subroutine return
8

Papp Zoltán wrote:

> Ha utánaszámolsz, valószínűleg rá is tudsz jönni, mi ez a szám. Vagy ha 
> megnézed a lefordított assembly kódot.
> Mivel említetted, hogy 16 helyett kb. 42-vel kell osztani, így a számod 
> valószínűleg 2 vagy 3 lesz.
> 
> Üdv
> 




More information about the Elektro mailing list