写了一个程序从COM口读取数据,采用的是事件驱动的方式,一旦有COM口中有数据就会触发读取事件,可是没办法判断在COM口中的数据读取是否结束了。
在MSDN上找了半天,WaitCommEvent(_hCommHandle, &dwMask, &_WaitOverlapped)
返回的dwMask是有“EV_TXEMPTY”来表示发送完最后一个字符的 ,可是我的程序中,dwMask一直是0或者1,没法判断一次数据是否结束。
EV_TXEMPTY The last character in the output buffer was sent. 请各位高手帮忙啊!!
在MSDN上找了半天,WaitCommEvent(_hCommHandle, &dwMask, &_WaitOverlapped)
返回的dwMask是有“EV_TXEMPTY”来表示发送完最后一个字符的 ,可是我的程序中,dwMask一直是0或者1,没法判断一次数据是否结束。
EV_TXEMPTY The last character in the output buffer was sent. 请各位高手帮忙啊!!
解决方案 »
- [求助]VC++ODBC同时给ACCESS数据的多个空表增加记录时,最后一个不能添加
- Fire事件传出参数问题
- 原本就是白底黑字的图形,怎么做透明贴图呢
- a.sin_addr.s_addr=0 是什么意思
- 请教,我要导出一个类,类中包含一个消息,用ATL还是ActiveX或者是dll
- 在用MSXML和C++存XML文档时,文档头的处理
- 寻找计算机英汉辞典 (电子版的)
- >>>>>>>> 编写文件下载程序遇到的奇怪问题,高分请教~~~~~
- 求问如何在编辑器中实现痕迹功能??
- gdi+ Bitmap转灰度?
- ODBC访问Excel中的单元格,为什么有些单元格明明有数值,但是用ODBC读去却读出空值来喃?
- 新建一个CSplitterWnd的派生类却生成了CMdiChildWnd派生类的代码
// Set comm mask
::SetCommMask(hComm, EV_RXCHAR| EV_TXEMPTY)
……
::WaitCommEvent(hComm, &dwEvent, &olRead))
……
if(dwEvent & EV_RXCHAR)
写操作,当串口缓冲区数据发送完毕,就产生EV_TXEMPTY事件