Forum: Mikrocontroller und Digitale Elektronik uart.h empfangsproblem


von Martin M. (Firma: fh kaernten) (motexx)


Lesenswert?

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

von UdurchR (Gast)


Lesenswert?

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???

von Martin M. (Firma: fh kaernten) (motexx)


Angehängte Dateien:

Lesenswert?

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