000
30.07.2004, 23:02 Uhr
~wasa
Gast
|
Tagchen!
sorry das ich schon wieder nerven muss, aber ich krieg gleich plack hier! Will mittels CreateFile den Com Öffnen und später lesen. Nun werden aber für das Gerät was am COM hängt folgende HandShakes vereinbart: DTR on, RTS kurz on danach off. habe folgende Funktion geschrieben:
C++: |
HANDLE CCOM_PORT1::Open_Comport_HS(){ HANDLE DriverHandle; DCB Our_DCB;
DriverHandle = CreateFile ("COM1", GENERIC_READ | GENERIC_WRITE, 0, NULL, CREATE_NEW, 0, NULL);//OPEN_EXISTING, CREATE_NEW if(DriverHandle!=0){ GetCommState(DriverHandle, &Our_DCB);
Our_DCB.BaudRate = 2400; //2400 Our_DCB.ByteSize = 8; Our_DCB.Parity = NOPARITY; Our_DCB.StopBits = ONESTOPBIT;
Our_DCB.fDtrControl = DTR_CONTROL_ENABLE; //Our_DCB.fRtsControl = RTS_CONTROL_HANDSHAKE; SetCommState(DriverHandle,&Our_DCB); //EscapeCommFunction(DriverHandle, SETDTR); //EscapeCommFunction(DriverHandle, SETRTS); //Sleep(5000); //EscapeCommFunction(DriverHandle, CLRRTS);
return DriverHandle; }else return 0; }
|
Das Our_CDB sind im Prinzip die Werte die ich ändern will also baud etc. Laut diesem Forum und der Hilfe msdn kann man mittels EscapeCommFunction die HandShakes setzen, so wie im Programm geschrieben. Habe alles ausprobiert aber der will das einfach nicht machen. Es kommen keine Fehlermeldungen, aber die Funktion setzt die HandShakes nicht so wie ich es brauche, also DTR on, RTS kurz on danach off. Ich hoffe ihr könnt mir helfen, weil ich langsam echt verzweifle!!!! Vielen Vielen Dnak schonmal!! cu wasa |