02-06-2014 07:41 AM
Hallo,
Ich habe ein Problem mit dem Empfangen von Daten von einem Mikrocontroller.
Das Testprogramm auf dem Microcontroller (TC1796) sendet beim Empfang des ASCII-Zeichens “J“ (0x4A) das ASCII-Zeichen “_“ (0x5F) zurück. Als Pegelwandler wird ein MAX232 verwendet.
Wenn ich "J" mit einem Hyperterminal sende, kommt das Zeichen wie gewünscht zurück.
Wenn ich jedoch das Selbe mit LabView mache, empfängt der Mikrocontroller das "J", sendet "_" zurück, was aber von Labview nicht empfangen wird.
Dabei habe ich das Beispielprogramm von LabView verwendet.
Zum Testen habe ich einfach mal probiert, die beiden Pins RxD und TxD der seriellen Schnittstelle des PCs kurzzuschließen (Loopback).
Die von LabView gesendeten Zeichen wurden empfangen.
Als nächstens habe ich die Signale am Oszilloskop gemessen. Dabei ist mir aufgefallen, dass LabView beim Herstellen der Verbindung zum Port, die RxD-Leitung dauerhaft auf +5.8V setzt (auch wenn der Mikrocontroller gar nicht verbunden ist)
Das Hyperterminal macht das im Gegensatz dazu aber nicht...
An was kann das liegen?
Im Anhang sind die Bilder vom Oszillosop
02-06-2014 11:14 AM - edited 02-06-2014 11:15 AM
Hallo student,
1. Dies ist ein englischsprachiges Forum, wenn du viele Antworten haben willst, solltest du also in englisch posten. Alternativ gibt es auch ein deutschsprachiges Forum: www.labviewforum.de !
2. Statt der Oszilloskopbilder wäre es hilfreicher, wenn du dein VI angehängt hättest - oder wenigstens Bilder von dessen Blockdiagramm.
3. Hilfreich bei solchen Sachen ist es auch, die Kommunikationsparameter zu überprüfen (von Baudrate bis TermChar)!
Nachtrag zu 1.: Crossposts bitte in beiden Foren entsprechend mit Links kennzeichnen!
For the English speaking reader:
I told him to post in English, to attach VI (or block diagram picture) instead of scope plots, and to check serial port settings including termchar.