Forum: Mikrocontroller und Digitale Elektronik USART Transmit (TX)


von Thomas (Gast)


Lesenswert?

Hallo!Programmiere gerade den Atmega 16L,und versuche ein einfaches
senden von daten über die UsART.Habe folgenen Quellcode aus dem
Datenblatt übernommen.
void USART_Transmit(unsigned char a){
while (!(UCSRA & (1<<UDRE)));
UDR = a;}
Die Grundeinstellung (USaRT Transmission uzw . bis auf TX_Iteruppt)
habe ich in Codevison eimgestellt .
Mein Problem ist ,das es beim compilieren immer zu der Fehlermeldung
'undefined symbol UDRE' kommt.Wo liegt der Fehler?Kann mir einer
helfen?

von johnny.m (Gast)


Lesenswert?

Header-Datei richtig eingebunden?

von johnny.m (Gast)


Lesenswert?

Habs grad überprüft, kennt er tatsächlich nicht. Mach ein "#define UDRE
5" am Anfang rein.

von Rolf Magnus (Gast)


Lesenswert?

Ich habe gerade mal im Header nachgeschaut, und da steht's bei mir
drin. Müßte also eigentlich auch so gehen. Vielleicht habe ich haber
eine andere Version der avr-libc.

von Rolf Magnus (Gast)


Lesenswert?

argl... sehe gerade, es geht nicht um avr-gcc/avr-libc. Also ignoriert
mich einfach.

von Jens (Gast)


Lesenswert?

In den CodeVision Bibliotheken stehen normalerweise immer nur die
Register, aber nicht die einzelnen Bitnamen. Daher das Problem....
Man kann sich aber vom GCC die entsprechenden Bit Definitions klauen ;)

von Thomas (Gast)


Lesenswert?

Hi!Ja das hatte ich mir auch gedacht .Wenn ich aber nun #define UDRE 5;
initialisiere ,bekomme ich die Fehlermeldungen missing '}'
und invalid expression  .Auf jeden Fall thx schon mal

von Jens (Gast)


Lesenswert?

kein ";"

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.