Hallo PIC-Fans, ich kämpfe hier mit einem PIC 16F627, der ein merkwürdiges UART-Problem hat. Aufgabenstellung ist, die am UART mit 9k6 eintreffenden Daten auf ein bestimmtes Stichwort zu überprüfen. Die Abfrage des UART erfolgt über eine Interupt-Routine. Das ganze funktioniert auch soweit ganz gut. Jetzt habe ich aber festgestellt, dass irgendwann der UART keinen Interupt mehr auslöst. Dieser Effekt tritt nur auf, wenn in schneller Folge Zeichen empfangen werden. Schicke ich die Zeichen mit reichlich Pause (100ms oder so), funktioniert es immer. Die Interuptroutine ist auf jeden Fall schnell genug, um innerhalb 1ms ein Byte von RX-Register abzuholen. Das ganze ist etwas merkwürdig und ich stelle einfach mal die Frage hier ins Forum, ob jemand so ein Verhalten schon mal beobachtet hat und vielleicht sogar eine Abhilfe weiß? Achja, programmieren tue ich in Assembler. Danke schon mal.
Wenn der UART Empfangsprobleme hat, gibt er Fehler-Flags aus (Framing, Overrun). Diese Flags muß man speziell behandeln! Es gibt auch Fehler, da muß man den Empfänger (CREN) ab- und wieder einschalten (Reset).
@ Bernd Rüter Danke für den Tipp. Auf die Idee, dass meine Probleme mit Übertragungsfehlern zu tun haben könnten, bin ich nicht gekommen. Auf jeden Fall werde ich mir mal die entsprechenden Seiten im Datenblatt anschauen und meine Empfangsroutine erweitern.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.