Hi,
ich möchte von einem µC über RS-232 Daten an den PC schicken, um sie dann weiter zu verarbeiten. Die Daten (drei Integerwerte) sollen immer im Dreierpack versendet werden. Mein Problem liegt bei der PC-Software, die die Datenpakete empfangen soll.
Aus organisatorischen Gründen soll der PC mit einem definierten Zeichen (char 'O') ein Datenpaket abrufen, das der µC dann abschickt. Mit Hyperterminal funktioniert das alles sehr gut (ich tippe O und ein Datensatz erscheint)!! Die µC-Software müsste daher in Ordnung sein.
Das Empfangen funktioniert auch mit meiner in Visual C++ geschriebenen Software mittels der serialPort-Klasse gut, Probleme gibts beim Senden des "Anforderungszeichens". Das klappt noch nicht, jedenfalls sendet der µC keine Daten!!!
Folgenden Code habe ich dafür verwendet:
Diese Write-Funktion sendet also ein char-Array (mit 'O') über die Schnittstelle. Die etwas eigene Art der Deklaration des Arrays war mir erst etwas fremd, habe das dann mit der Hilfe aber so hingebastelt. Ist da vielleicht etwas falsch? Konnte dazu nicht soviel im Internet finden...Code:array<wchar_t, 1>^ Buffer = gcnew array<wchar_t, 1>('O'); serialPort1->Write(Buffer, 0, 1); //Datensatz anfordern
Achja, falls von Bedeutung: Auf dem µC wird das Zeichen mit uart_getc() aus Fleury's Bibliothek ausgelesen.
Habt ihr eine Idee, woran das liegen könnte? Wird das Zeichen 'O' vielleicht nicht richtig interpretiert?
Lesezeichen