欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

wince6.0 串口接收到先期的数据

更新时间: 2014-01-05 03:10:54 责任编辑: Author_N1

 

WINCE6.0 串口接收到之前的数据
目前在做433MHZ模块通讯,波特是9600,两台机器都装有433MHZ模块,一台每间隔1s发送一个随机数(A机器),另一台接收(B机器),B停止接收,A还在一直发送,过一会,B重新开始接收,这时候B先接收到的是A之前发送的数据,对于此问题,我之前的解决问题办法,就是在串口发送那边先调用PurgeComm(g_hSerialArray[EXTENDED_SERIAL], PURGE_TXCLEAR | PURGE_RXCLEAR);
但还是不能解决此问题,在此请教大家,先谢谢了。
--参考方法--
B 停止接收这段时间,能否先分析到此时发送的数据是被 A 缓冲了,还是被  B 接收到后缓冲了?
然后才好分析如何解决。

--参考方法--
那为什么不能在停止接收的时候关闭串口呢
--参考方法--
那你是要接收之前的数据呢还是不接收?
不接收的话就简单了,在B机器重新接收数据时,清除接收缓冲区,这样来接收新的数据。

如果要接收之前的数据的话,就要考虑数据是否会溢出接收缓冲区导致数据丢失的问题
--参考方法--
应该是接收模块做了缓存,模块本身也有CPU和内存的,你关闭模块的输出串口和对它做PurgeComm操作,并不能清除缓存数据。
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 03:10:54
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/19281/
本文WWW.DOC100.NET DOC100.NET版权所有。