UART + Mega128 programmieren

Gast #5462
Lesenswert?

Hi,

kennt einer von euch eine Möglichkeit die beiden UARTS von Atmel's 
Mega128 mit gcc zu anzusprechen. Ich hab schon ein bisserl damit 
getestet, aber beim Ansprechen von UDRE0 und UDRE1 ist Schluss. Beide 
Bits sind anscheinend in der iom128.h nicht deklariert.

Meine Frage ist nun: Wie kann ich dieses Problem umgehen?

Reicht es, wenn man lediglich zwei Definitionen á la :

#define    UDRE0         5
#define    UDRE1         5

in den Header hinzufügt, oder was muss man dabei noch alles beachten?

Ich habe übrigens AVR-Studio 3.55 und das avrgcc-Build vom 25.06.2002 
(avr-freaks).

Danke,

Dirk
Gast #5465
Lesenswert?

Ich wollt halt z.B. in den Registern UCSR0A und UCSR1A verschiedene Bits 
setzen, und hatte dabei nicht an folgendes gedacht:

Setzen:
USCR0A=(USCR0A|(1<<UDRE));

Löschen:
USCR0A=(USCR0A&(!(1<<UDRE)));

Damit kann man natürlich die einzelnen Bits verändern, ohne Sie explizit 
ansprechen zu müssen.

Mir schwebte halt damals irgendsowas wie UDRE0=0 bzw UDRE0=1 vor.

UDRE ist übrigens in den meisten Versionen der iom128.h definiert (als 
5tes Bit). Und da die Bitbelegungen in den Registern für die jeweiligen 
USARTS gleich sind, brauch man nur eine Konstante (das gilt so natürlich 
auch für die anderen Bits der USARTS).

So das war eigentlich schon die ganze "Lösung".

Falls es jemandem was hilft ... fröhliches "Mega Atmel'n"!

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