Forum: Compiler & IDEs UART - An UDR0 Variable übergeben


von Sebastian K. (bastik)


Lesenswert?

Hallo,

Schreibe in der Arduino Umgebung mit GCC ( Habe gute Gründe dafür ... 
soll hier nicht zur Diskusion stehen) .

Habe eine kleine Funktion geschrieben die eigentlich nur das Byte das 
ich ihr gebe am UART ausgeben soll:

void UART_Senden ( uint8_t Sende_Byte ){
  while ( !( UCSR0A & (1<<UDRE0)) ){}
  UDR0 = Sende_Byte; // Funktioniert nicht
  Serial.print(Sende_Byte); // Makro von Arduino funktioniert
}

Bin kein C Held...

Warum sendet mir
UDR0 = Sende_Byte;
nichts.

Wenn ich die gleiche Variable an die Arduino Funktion gebe wird richtig 
gesendet.
Serial.print(Sende_Byte);

Danke für die Hilfe! Schönen Tag noch!

von Klaus W. (mfgkw)


Lesenswert?

Die UART muß irgendwo initialisiert werden.
Wie, steht im Datenblatt.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Je nachdem, wie Arduino das implementiert, kannst du beide auch
einfach gar nicht mischen.  Wenn sie eine halbwegs intelligente
Implementierung haben, benutzen sie einen Puffer mit Interrupt-
steuerung.

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.