打印

串口接收的问题

[复制链接]
1536|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hdc523|  楼主 | 2010-10-7 17:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
单片机接收串口助手发来的数据,存在数组里面,发送的数据长度不定。
疑问在于:直接存的话,后面发送的会把前面的覆盖掉,这样就不能得到想要的数据
比如你的缓冲空间长度为10,第一次发送0123456789,第二次发送654321,那么数组里面存的是6543216789,这样怎么得到第二次发送的数据?注意第二次事先并不知道发送多长的数据!各位有什么高见?除了弄个协议还有别的方法吗?

相关帖子

沙发
HWM| | 2010-10-7 18:48 | 只看该作者
不定长数据传输最好是先导有一个长度字段,用以判**面的数据到底有多长。这也是最基本的不定长数据传输协议。

使用特权

评论回复
板凳
Torda| | 2010-10-7 18:56 | 只看该作者
不定长发送数据,一定需要长度字段的。这个是基本要求

使用特权

评论回复
地板
zjswuyunbo| | 2010-10-8 17:22 | 只看该作者
同意2,3楼

使用特权

评论回复
5
原野之狼| | 2010-10-9 00:18 | 只看该作者
如果是ASCII码 可以通过控制字符来表征帧头和帧尾
如果是二进制 可以通过时间间隔来区分帧

使用特权

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

本版积分规则

1

主题

4

帖子

1

粉丝