Forum: Mikrocontroller und Digitale Elektronik Receive Flag wird nicht gesetzt


von JDHawk (Gast)


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)

von JDHawk (Gast)


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?

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
Noch kein Account? Hier anmelden.