mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik uart.h empfangsproblem


Autor: Martin Martin (Firma: fh kaernten) (motexx)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: UdurchR (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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???

Autor: Martin Martin (Firma: fh kaernten) (motexx)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.