Beh ... parti da questo codice ... l'ho scritto senza provarlo ... dovresti vedere cosa viene visualizzato e modificarlo di conseguenza ... (ovviamente dovrai cambiare il numero della seriale ... io ho inserito COM1 ... )
codice:
#include <windows.h>
int main()
{
HANDLE hCom;
DCB Dcb;
DWORD modem;
hCom = CreateFile("\\\\.\\COM1",
GENERIC_READ | GENERIC_WRITE,
0,
NULL,
OPEN_EXISTING,
0,
NULL);
memset(&Dcb, 0x0, sizeof(DCB));
Dcb.DCBlength = sizeof (DCB);
GetCommState(hCom, &Dcb);
Dcb.Parity = NOPARITY;
Dcb.BaudRate = 9600;
Dcb.ByteSize = 8;
Dcb.StopBits = ONESTOPBIT;
Dcb.fDtrControl = DTR_CONTROL_ENABLE;
Dcb.fRtsControl = RTS_CONTROL_ENABLE;
SetCommState(hCom, &Dcb);
EscapeCommFunction(hCom, CLRDTR);
EscapeCommFunction(hCom, SETRTS);
while(1)
{
GetCommModemStatus(hCom, &modem);
printf("%d\n", modem & MS_CTS_ON);
Sleep(200);
}
CloseHandle(hCom);
return 0;
}