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