Hallo,
mit folgendem VC++ - Programm möchte ich auf die RS-232-Schnittstelle zugreifen. Das Programm öffnet auch problemlos die Schnittstelle, allerdings funktioniert die Fkt. SetCommState seltsamerweise nicht.
// RS232.cpp: Hauptprojektdatei.
#include
#include
#include
#include
#include
using namespace std;
//globale Variablen
int menuewahl = 0;
char input\_deaktivieren\_aktivieren = 0;
HANDLE hCom;
DCB dcb;
DWORD dwError;
BOOL fSuccess;
bool init\_rs232(){//Die Schnittstelle initialisieren
hCom = CreateFile ("COM1", GENERIC\_WRITE, 0, NULL, OPEN\_EXISTING, 0, NULL);
if(hCom == INVALID\_HANDLE\_VALUE){
dwError = GetLastError();
printf("Es gab einen Fehler beim öffnen.\n");
}
fSuccess = SetCommState(hCom, &dcb);
if(!fSuccess)
cout \> input\_deaktivieren\_aktivieren;
if(input\_deaktivieren\_aktivieren == 'J')
return true;
else if(input\_deaktivieren\_aktivieren == 'N')
return false;
}
}
void main(void)
{
if(!init\_rs232())return;
cout \> menuewahl;
switch(menuewahl){
case 1:
txd(abfrage());
break;
case 2:
rts(abfrage());
break;
case 3:
dtr(abfrage());
break;
}
}
rts(false);
dtr(false);
CloseHandle(hCom);
hCom = NULL;
return;
}
Wodran kann das liegen?
MfG Sebastian