毕业论文开发语言企业开发JAVA技术.NET技术WEB开发Linux/Unix数据库技术Windows平台移动平台嵌入式论文范文英语论文
您现在的位置: 毕业论文 >> 嵌入式 >> 正文

单片机串口收发数据丢失问题

更新时间:2013-1-25:  来源:毕业论文

单片机串口收发数据丢失问题
计算机和设备用一个串口通讯的,设备会不断有数据发送给计算机,计算机向设备发送数据进行控制时候,有时会出现设备没响应。据说是半双通发送和接受的数据冲突导致发送的数据丢失。
不大改设备,这个问题有解决的办法没?

不大改……优化协议算不算大改?既然硬件是半双工的,你的协议也应该规定好了什么时候谁发谁收。一个时刻只能允许一方发送

。本来半双工系统的经典结构就应该分主机和从机,任何时候都应该由主机发起整个通讯。如果你把PC作为主机,那就把管辖权彻底交给PC。如果你需要下位机发数据给它,就先由PC机发一个请求码,然后等待设备返回数据,否则禁止设备发任何数据过来。

我猜你是想在任何需要发起通讯的事情发生之后就第一时间发出去,所以你一毫秒都不想牺牲,直接就发了。结果两头都赶时间的时候就打架了,欲速不达。试想你稍微牺牲一些实时性,每1/10秒或者1/100秒查询一次,用严格的预定顺序去规划收发活动,至少整个系统是可以稳定工作的。当你把查询周期缩短到1毫秒的时候基本和实时传输没什么差别了。

没规律不是借口,是思路不清晰造成的管理混乱

设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优尔论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。