Hallo, Ich programmier gerade ein Sensorinterface bei dem 3 verschiedene Parameter von einem Pyrometer abgefragt werden (R"232) Alle Parameter werden dann auf einem Display dargstellt und die Temp selbst an D/A Wandler weitergegeben. Ich verwende Funktionen aus uart.h Daten senden mit putsUART1() funktioniert. Ich hab dann probiert die Antworten mit 3 mal getsUART1() nach den putsUART() zu lesen. Aber dies Methode schreibt ein Zeichen aller Empfangenen immer wieder in den Speicher der Empfangsbuffer Variable. Dann hab ich es mit Interrupts versucht. Mit nur einem Pointer und einer Buffer Variable funktioniert es zwar, aber wenn der Pointer aus dem Buffer rauszeigt, dann werden die empfangenen Daten vermischt. Mitzählen wie oft ich in den Interrupt gehe und den Pointer dann rücksetzten hat nicht funktioniert. Aktuell verwende ich drei verschiedene Pointer und 3 Buffer Variablen und resete immer (je nachdem welche ANtwort ich erwarte) die entsprechende Variable. Das Problem ist, dass die korrekten Daten in der Leitung (angesehen mit spy Kabel) nicht korrekt abgespeichert werden. Der String in der ersten Variable ist einmal um eine Stelle nach links verschoben, dann wieder korrekt. Die anderen beiden Antworten stimmen auch nicht immer. (Pendeln so zwischen korrekt und falsch) Danke Martin
So, lieber Martin, jetzt lies Dir Deinen Text doch nochmal durch und überlege dann mal, ob Dein Text für jemanden, der nicht weiß, welchen Chip Du verwendest, nicht weiß welchen Compiler Du verwendest und daher auch nicht wissen kann, was in "uart.h" drinsteht und Deinen Code nicht kennt... AUCH NUR IRGENDEINEN SINN ERGIBT???
Bitte vielmals um Verzeihung: Da sind wohl einige Details verloren gegangen. Vor allem war mein Code nicht als Anhang dabei - danke für die INFO. Also: Ich programmiere einen dsPIC30F3014 und verwende den C30 Compiler. Die Bibliothek uart.h war bei meinem C30 Compiler dabei. Solltet ihr die verwendeten Funktionen auch noch als Code-Anhang dier benötigen einfach schreiben. Danke Martin
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.