Receive Flag wird nicht gesetzt

Gast #790652
Lesenswert?

Hallo MC-Profis.

Bin Anfänger und habe da mal eine Frage:

Ich versuche gerade mit einem Diagnose-Treiber für die serielle 
Schnittstelle von meinem Freescale PPC Daten einzulesen. (Schreiben 
klappt wunderbar übrigens) Nun hängt er sich im leseprozess auf.

Es ist ein Polling-Treiber, d.h. er sieht dauernd nach, ob ein gewisses 
Receive Data Register Full Flag gesetzt ist und wenn ja liest er 8 Bit 
aus dem Datenregister.

aber er pollt und pollt...

Nun habe ich aber mit meinem Debugger herausgefunden, dass im 
Datenregister sehr wohl meine Zeichen ankommen (über ein 
Terminalprogramm Buchtstaben eingegben). Nur komischerweise setzt er das 
Flag nicht.

Woran kann das nun liegen? An irgendwelchen Interrupts? oder geschieht 
soetwas hardwaremäßig und der Controller spinnt?

Wäre dankbar für eure Theorien, da ich total am verzweifelt bin.
(Ich denke der Treiber müsste stimmen)
Gast #790675
Lesenswert?

[EDIT]
Habe gerade gerausgefunden, wenn ich über das Terminal einem Buchstaben 
ca. 5sek gedrückt lasse, wird es anscheinend gesetzt, weil er aus dem 
read() rauskommt. Er gibt mir dann aber nicht diesen Buchstaben sondern 
komische Sonderzeichen aus.

Was könnte da los sein, normal müsste er schon bei einem Char 
rausfliegen?

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