Gast
#281837
Hallo zusammen,
über die RS232-Schnittstelle möchte ich in unregelmäßigen Abständen
wenige(4-7) Bytes empfangen.
Der Receiver-Interrupt(1.Byte) soll der Start für die Empfangsroutine
sein. Alle weiteren Bytes sollen im Pollingverfahren empfangen werden.
Wie sieht die Pollingroutine(Codevision) aus?
Reicht dieses für das 2. 3. und 4.-Zeichen:?
while(!(UCSR0A & 1<<7)) {}
data = UDR0; // 2.Zeichen holen
while(!(UCSR0A & 1<<7)) {}
data = UDR0; // 3.Zeichen holen
while(!(UCSR0A & 1<<7)) {}
data = UDR0; // 4.Zeichen holen
Also, prinzipiell funktioniert das, aber manchmal hängt sich das
Programm in der while-Funktion zum 3.Zeichen auf.
Gibt es da eine Lösung? Vielen Dank für eure Mühe!
Tobis