专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > WinCE

wince 5.0 串口有关问题

发布时间:2010-06-13 22:03:34 文章来源:www.iduyao.cn 采编人员:星星草
wince 5.0 串口问题
我的驱动里面创建了一个线程,专门用于接收串口接到的数据,部分代码如下:
// 等待串口驱动通知
WaitCommEvent( pSerial->m_hCOM, &dwCommModemStatus, NULL );
// 稍候再去读,等数据包到完整
// 仅处理字符事件
if( !(dwCommModemStatus & EV_RXCHAR) )
continue;
dwBytesRead = pSerial->Read( byRecvBuf, sizeof(byRecvBuf) );

串口始化时设的BUFF长度。
SetupComm( m_hCOM, 1024, 1024) )

发送端的波特率为:38400
每个包间隔为50MS

现在我接收有时候接收到一个包,--》没有问题。
有时候接收到多个包,--》会将最后一个包的部分数据丢了,下次再去读的时候也没有了。

不知我的COMMTIMEOUTS commtimeouts ;怎么设才合理,

希望各位来指点一下。
感激不尽。


------解决方案--------------------

------解决方案--------------------
这个应该是应用来处理吧,不应该在驱动中做。
------解决方案--------------------
探讨
引用:
不太熟悉串口编程,但你可以修改每个包时间间隔,改常一点再测试一下,看是否还存在这个问题。


长点当然没有问题啊,试过了。

------解决方案--------------------
WaitCommEvent()后应该接SetCommEvent()来再次设置事件
------解决方案--------------------
探讨

引用:
WaitCommEvent()后应该接SetCommEvent()来再次设置事件


我在WaitCommEvent()之后有个判断,只会接收RXCHARG事件,如果不是继续等待。

------解决方案--------------------
你的稍后再去读,等数据包完整时什么意思?
waitforcomm这个等到待当RX中已有数据就会触发这个RX事件的。
建议可以readfile多几次。
全频跟单频搜台有什么区别呢
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: