扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
m_hCom=CreateFile("COM1",GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_EXISTING, FILE_FLAG_OVERLAPPED,NULL); file://以异步方式打开COM1口 SetCommMask (m_hCom, EV_RXCHAR ) ; file://添加或修改Windows所报告的事件列表 SetupComm (m_hCom,READBUFLEN/*读缓冲*/,WRITEBUFLEN/*写缓冲*/); // 初始化通讯设备参数 // 清除缓冲信息 PurgeComm (m_hCom, PURGE_TXABORT | PURGE_RXABORT | PURGE_TXCLEAR | PURGE_RXCLEAR) ; // 对异步I/O进行设置 CommTimeOuts.ReadIntervalTimeout = MAXDWORD ; file://接收两连续字节的最大时间间隔 CommTimeOuts.ReadTotalTimeoutMultiplier =0; file://接收每字节的平均允许时间 CommTimeOuts.ReadTotalTimeoutConstant = 0 ; file://接收时间常数 SetCommTimeouts (m_hCom , &CommTimeOuts) ; file://获取并设置串口 GetCommState ( m_hCom, &dcb) ; dcb.BaudRate = CBR_4800; dcb.ByteSize = 8; dcb.Parity = ODDPARITY; dcb.StopBits = ONESTOPBIT ; SetCommState( m_hCom, &dcb); |
while(true){ WaitCommEvent (m_hCom,&dwEvtMask,NULL); if (dwEvtMask&EV_RXCHAR == EV_RXCHAR) if(ComStat.cbInQue>0) ReadFile(m_hCom,m_readbuf,ComStat.cbInQue,&nLength,&olRead); } |
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。