[an error occurred while processing this directive]
|
static HANDLE CommHndl ;
static DCB CommDCB ;
const char * ComName ;
///////////////////////// init com port //////////////////////////////////ComName = "COM1";
do {
CommHndl = CreateFile(ComName,
GENERIC_READ|GENERIC_WRITE,0,
NULL,
OPEN_EXISTING,
0,//FILE_FLAG_OVERLAPPED,
NULL);
if (CommHndl == INVALID_HANDLE_VALUE) {
}
} while (CommHndl == INVALID_HANDLE_VALUE);
CommDCB.DCBlength = sizeof(DCB);
CommDCB.BaudRate = 57600; //CBR_57600;
CommDCB.fBinary = 1;
CommDCB.fParity = FALSE;
CommDCB.fOutxCtsFlow = FALSE;
CommDCB.fOutxDsrFlow = FALSE;
CommDCB.fDtrControl = DTR_CONTROL_DISABLE;
CommDCB.fDsrSensitivity = FALSE;
CommDCB.fTXContinueOnXoff = FALSE;
CommDCB.fOutX = FALSE;
CommDCB.fInX = FALSE;
CommDCB.fErrorChar = FALSE;
CommDCB.fNull = FALSE;
CommDCB.fRtsControl = RTS_CONTROL_DISABLE;
CommDCB.fAbortOnError = TRUE;
CommDCB.wReserved = 0;
CommDCB.ByteSize = 8;
CommDCB.Parity = NOPARITY;
CommDCB.StopBits = ONESTOPBIT;
CommDCB.XonChar = 2;
CommDCB.XoffChar = 1;
CommTimeOuts.ReadIntervalTimeout = 10; // 10ms
CommTimeOuts.ReadTotalTimeoutMultiplier = 1 ;
CommTimeOuts.ReadTotalTimeoutConstant = 1 ;
CommTimeOuts.WriteTotalTimeoutMultiplier = 0 ;
CommTimeOuts.WriteTotalTimeoutConstant = 0 ;SetCommTimeouts (CommHndl,&CommTimeOuts);
SetupComm (CommHndl,512,1024 );PurgeComm (CommHndl,
PURGE_TXABORT |
PURGE_RXABORT |
PURGE_TXCLEAR |
PURGE_RXCLEAR);FlushFileBuffers(CommHndl);
SetCommState (CommHndl,&CommDCB );
//////////// read COM /////////////////////////////////ReadFile(CommHndl,RxBuff,100,&RxSz,NULL);
//////////// write COM /////////////////////////////////
WriteFile(CommHndl ,
pTxSt->TxBuf ,
pTxSt->TxSz ,
&i,
NULL);
E-mail: info@telesys.ru