Kommunikation RS232 Mikrocontroller

Gast #2735150
Lesenswert?
• ▲
▼
Hallo,

ich habe einen ATmega1284P und habe eine Kommunikation mit UART 
programmiert über eine RS232 Schnitstelle und LabVIEW. Das 
Betriebssystem ist Win 7 Professional.
Die Kommunikation mit dem Mikrocontroller und einem Terminal 
funktioniert reibungslos.
Sobald ich jedoch Befehle in LabVIEW eingebe und abschicke, reagiert er 
erst nachdem wirklich 40 Zeichen geschickt worden sind, "\r\n" haben 
keine Wirkung.
Woran könnte das liegen?
Gast #2735203
Lesenswert?
• ▲
▼
Was ich in das Senden Feld in LW eingebe sieht folgendermaßen aus:

getvalue00000000000000000000000000000000

danach erhalte ich einen Spannungswert zurück.

mit

getvalue\r\n

reagiert er nicht. Er reagiert erst nachdem 40 geschickt worden sind.
#2735266
Lesenswert?
• ▲
▼
Scheinbar antwortet die Software bei allem was er über das Terminal 
schickt. Nur übre Labview antwortet er nicht. Ich begreif immer noch 
nicht was es mit der Software zu tun hat. UART bleibt UART und wenn UART 
funktioniert funktionierts auch. Die Frage ist hier wohl eher wie man 
Labview sagen kann, dass ein CR und LF mitgesendet wird und wie man das 
macht.
#2735293
Lesenswert?
• ▲
▼
Klar würde es dann gehen er kann auch hingehen und das ding so 
programmieren das ein beliebiges zeichen das ende des Strings darstellt. 
Aber die Software scheint ja auf das CR/LF zu warten und da muss es doch 
eine Lösung geben wie Labview den String von sich aus schon abschliesst. 
Schliesslich soll Software auch so programmiert sein, dass sie überall 
funktioniert. Und der Nutzer soll sich auch nicht noch einarbeiten in 
das System und Befehle lernen.
#2735318
Lesenswert?
• ▲
▼
Ohne mit Labview gearbeitet zu haben.
Wenn du was ins Terminal eingibst wird jedes Zeichen entweder sofort 
gesendet oder spätestens wenn du Enter drückst.
In Lab View wird das Kommando nichte gesendet werden wenn du die beiden 
MetaZeichen \r\n eingibst.
Prüfe doch einfach wann wirklich Daten über die Schnittstelle gehen, ich 
wette daß die erst nach dem kommpletten Kommando von Labview gesendet 
werden.
#2735326
Lesenswert?
• ▲
▼
Hallo,

Das ist in LabVIEW ganz einfach, du darfst in deinen String nicht \r\n 
schreiben, denn für \r und \n gibt es eigene Konstanten in der String 
Palette.

Alles was du nun machen musst, ist den String den du schicken willst mit 
deinen Konstanten zusammenzufügen. Wenn du es nicht findest, kann ich 
dir auch eine VI schicken, aber leider erst Abends, jetzt habe ich kein 
LabVIEW zur hand.

Das sollte dein Problem lösen ;)

Viel Spaß

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 14 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.