首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

串口操作

2012-04-10 
串口操作求助xp,vc6.0下如下代碼:g_hCommCreateFile( COM1 ,GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_E

串口操作求助
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句柄无效

热点排行