Hallo,
ich arbeite gerade an einem Mini-Projekt, bei ein PC mittels RS232- Schnittstelle mit einem Embedded-Computer kommuniziert. Das ist an sich nicht weiter schlimm. Aber das Problem daran ist, dass es unter Windows laufen muß. Einmal Windows XP und speziell Windows CE 5.0. (Deswegen auch das "OT" im Betreff...)
Der erste Schritt ist vom WinCE-Computer aus an den PC eine Zeichenkette zu verschicken, die ich mir mittels Hyperterminal anzeigen lasse. Hier hapert's leider schon, es kommt immer nur ein "Zeichen" an. Ich weiß nicht mal, ob's sich wirklich um ein Zeichen handelt, da das Oszilloskop auch nur eine einzige Flanke zeigt, die ja fehlinterpretiert werden könnte.
Hier nun mein bisheriger Programmcode:
#include "stdafx.h" #include <string.h>
HANDLE hComPort; DCB sComDCB; DWORD dwCount; char cData[17] = "Das ist ein Test";
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { memset(&sComDCB,0,sizeof(sComDCB)); sComDCB.DCBlength = sizeof(sComDCB); sComDCB.BaudRate = 9600; sComDCB.StopBits = ONESTOPBIT; sComDCB.fParity = FALSE; sComDCB.Parity = NOPARITY; sComDCB.Binary = TRUE; sComDCB.fInX = FALSE; sComDCB.fOutX = FALSE; sComDCB.fDtrControl = DTR_CONTROL_DISABLE; sComDCB.fRtsControl = RTS_CONTROL_DISABLE; sComDCB.fOutxCtsFlow = FALSE; sComDCB.fOutxDsrFlow = FALSE; sComDCB.fDsrSensitivity = TRUE;
hComPort = CreateFile( _T("COM3:"), GENERIC_READ | GENERIC_WRITE, 0, 0, OPEN_EXISTING, 0, 0))
SetCommState(hComPort, &sComDCB);
WriteFile(hComPort, &cData, 16, &dwCount, 0);
CloseHandle(hComPort);
return 0; }
Der Quelltext läßt sich einwandfrei auf der Zielplattform übersetzen und ausführen. Nur kommt beim Senden nichts Gescheites raus. Kann mir hier jemand von Euch weiterhelfen? Vielen Dank.
MfG
Carsten