读书人

串口操作

发布时间: 2012-04-10 21:03:56 作者: rapoo

串口操作求助
xp,vc6.0下
如下代:
g_hComm = CreateFile( "COM1 ", GENERIC_READ | GENERIC_WRITE, 0, NULL,
OPEN_EXISTING, FILE_FLAG_OVERLAPPED, 0);

GetCommState(g_hComm, &dcb);
dcb.BaudRate = CBR_19200;
dcb.ByteSize = 8;
dcb.Parity = NOPARITY;
dcb.StopBits = ONESTOPBIT;

SetCommState(g_hComm, &dcb);
SetCommMask(g_hComm, EV_RXCHAR);
SetupComm(g_hComm, 1024, 1024);
PurgeComm(g_hComm, PURGE_TXABORT | PURGE_RXABORT |
PURGE_TXCLEAR | PURGE_RXCLEAR );

aa = WriteFile(g_hComm, SendData, 4, &dwBytesWrote, &ol);
if(!aa)
{
ErrorCode = GetLastError();
}
在,能打串口(g_hComm = 0x00000794),但WriteFile出(ErrorCode = 6(The handle is invalid. )),什?

[解决办法]
打开没成功
[解决办法]
帮顶
[解决办法]

[解决办法]
还是加一个是不是==NULL的判断吧
[解决办法]
你既然需要异步Io(CreateFile指定FILE_FLAG_OVERLAPPED),就应该初始化ol,它说的是
ol.hEvent句柄无效

读书人网 >C语言

热点推荐