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)
[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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.