Hallo leute wozu dient der Flush() bei Uart
1 | static inline void rs485_flush() |
2 | {
|
3 | while (UCSR0B & (1 << UDRIE0)); |
4 | }
|
danke
|
Forum: Mikrocontroller und Digitale Elektronik Die Funktion von Flush() bei UARTHallo leute wozu dient der Flush() bei Uart
danke Der Code ist so unvollständig. Es dürfte woanders einen Teil geben, der UDRIE0 abschaltet, wenn alle Zeichen übergeben oder gesendet sind (vermutlich im Sende-Interrupt). Auf dieses Ereignis wird gewartet. Bezieht sich wohl auf AVR U(S)ART. Die Funktion rs485_flush(), wie sie oben dargestellt ist, wartet darauf, dass ein Zeichen versendet wurde. Nachzulesen in jedem AVR Datasheet. >Die Funktion rs485_flush(), wie sie oben dargestellt ist, wartet darauf, >dass ein Zeichen versendet wurde. Neee, es geht ums "UDRIE", nicht um "UDRE". Die Schleife "wartet" bis der UDR-Interrupt abgeschaltet wurde. Das macht bei RS485 aber relativ wenig Sinn, wenn das TXC-Flag nicht beachtet wird. Erst dann darf zwischen Senden und Empfangen umgeschaltet werden. 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.
|
|