打印

如何判断USART接收多个数据的结束

[复制链接]
2512|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
我现在用USART来一次接收多个数据 如:23 12 15 24 ....
我如何知道发送方已经发完了? 数据已经全部接收完了,程序可以往下进行处理了。
用Mega16 。

相关帖子

沙发
baiyunfei.k.f| | 2011-6-24 11:25 | 只看该作者
你可以设定一个时间,在这个时间内仍然无数据接收则认为这一帧结束

使用特权

评论回复
板凳
ayb_ice| | 2011-6-24 11:26 | 只看该作者
这就是需要通信协议

使用特权

评论回复
地板
yewuyi| | 2011-6-24 11:30 | 只看该作者
可以分为定长和不定长,如果定长,肯定不要说了,如果不定长,则可以在数据报文中加入一个长度变量,当然不定长肯定也是有一个最大长度限制的了。

另外,再辅助结束符,有的协议规定用一串特殊字符串,有的协议规定用空闲时间,不一而足,你可以查询通信协议方面的书籍资料

使用特权

评论回复
5
程序匠人| | 2011-6-24 11:39 | 只看该作者
1、双方约定帧长
2、发送方主动发送帧长
3、以特定的帧尾符代表结束
4、接收方自动判断超时结束

使用特权

评论回复
6
phz0008| | 2011-6-24 16:58 | 只看该作者
接收方自动判断超时结束

使用特权

评论回复
7
程序匠人| | 2011-6-24 17:14 | 只看该作者
参考《串口猎人》的设置:

使用特权

评论回复
8
宇航3000|  楼主 | 2011-6-24 17:55 | 只看该作者
对发送方完全不知,只是接收, 所以我先用延时等待,过一段时间还没有数据就认为没有了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

30

主题

165

帖子

2

粉丝