Gast
#279307
Hi Leuts,
ich habe hier ein kleines Problem, für das sicher jemand eine
Lösungsidee hat:
Mein Mega16 kommuniziert via RS232C mit einem Messgerät. Der
Telegrammaufbau ist ganz einfach, solange ein Gerät angeschlossen ist
geht das auch problemlos, ich lese einfach Zeichen für Zeichen ein.
Eine Antwort vom Messgerät gebinnt mit <CR><LF> und endet auch so.
Deshalb habe ich im Programm ganz einfach while-schleifen, also:
while ((c == UART_NO_DATA) || (c != '\r'))
c = uart_getc();
// als naechstes kommt ein "\n"
while ((c == UART_NO_DATA) || (c != '\n'))
c = uart_getc();
Das Problem ist folgendes:
Wenn keine Verbindung zustand kommt, bleibt der Controller
logischerweise dort hängen. Auf immer und ewig, zumindest bis zum
nächsten Reset. Hat jemand eine Idee, wie man hier eine vernünftige
Timeout-Überwachung einbaut ?
Greets
Karlheinz