AVR Atmega168 - UBRR0H oder UBRRH?

Gast #1048322
Lesenswert?

Hallo ,

ich habe eine frage zur USART Programmierung.

Im AVR-GCC-Tutorial steht als Beispielcode :

UBRRH = UBRR_VAL >> 8;
UBRRL = UBRR_VAL & 0xFF;


ich benuetze einen Atmega168 und im Datenblatt steht UBRR0H anstelle von 
UBRRH . Das gleiche gilt fuer andere Parametern wie z.B. TXEN0 anstelle 
von TXEN.

ich hatte vor eine universelle "klasse" (oder nennt sich das in C 
Bibliothek?) zu schreiben , damit ich den Code auch fuer andere 
Mikrocontroller verwenden kann .

Meine Frage jetzt ist ob man auch nur UBRRH anstelle von UBRR0H fuer den 
Atmega168 benuetzen kann und das interpretiert wird als UBRR0H oder wie 
ich ansonsten vorgehen sollte um Mikrocontroller unabhängig zu sein?

Vielen Dank im vorraus,
Matze
#1049209
Lesenswert?

Peter Diener wrote:
> wie definiert man dann, ob auf uart 0 oder uart 1 gesendet wird wenn sie
> beide als gleiche Namen definiert sind?

Steht doch da:

"Die Funktionsnamen enden alle auf die Ziffer 0.
Wenn man einen AVR mit 2..4 UARTs benutzt, kann man den Code einfach für
die anderen UARTs kopieren und die 0 durch 1..3 ersetzen."

D.h. alles *0 durch *1 ersetzen, also die verwendeten Register, Bits und 
Vektoren.


Peter

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren