Problem mit BASCOM / UART

Gast #3217511
Lesenswert?

Mahlzeit,

ich nutze einen Atmega2560 und empfange Daten über UART.
Hierbei habe ich folgendes Problem:
Ich Frage mit ischarwaiting() ab, ob ein Zeichen im Buffer liegt.
Anschließend hole ich mir die Daten mit dem INPUT Befehl.

Wird nun die Übertragung gestört bzw. die UART-Schnittstelle 
unterbrochen, wird natürlich nicht das CR empfangen.
Somit bleibt der Controller bei dem INPUT Befehl hängen, solange bis das 
CR empfangen wird.

Wie kann ich dies umgehen?


Gruß

Hartmut
Gast #3217695
Lesenswert?

Input kannst du über die &timeout Direktive abbrechen.
Sauberer ist meiner Meinung nach, jedes Zeichen einzeln über den URXC 
Interrupt zu empfangen. Dann kannst du dir auch das permanente Abfragen 
von IsCharWaiting() schenken.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren