打印

串口接收数据问题

[复制链接]
1020|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
baidudz|  楼主 | 2013-10-27 21:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用开发板上的串口,随机不停地发送整形、char型、300个字节。利用串口接收这些数据,将其解析出来分别送入处理整形、char型、300个字节的线程或进程中处理。大体的怎么去实现。
怎样发送这三种数据类型?接收时怎么去解析?协议怎么定?用的S5PV210的开发板

相关帖子

沙发
秋天落叶| | 2013-10-27 21:20 | 只看该作者
这个问题需要在数据链路层协议中解决。

例如,可以将要发送的数据打包,在包头相应的域中指明数据类型(格式)、长度等等。

使用特权

评论回复
板凳
dfsa| | 2013-10-27 21:34 | 只看该作者
PC上位机接收注意 在线程用消息信号量,否则数量大CPU占用率太高,最简单下位机发送数据转换为字符型的明码(速度也很快),但占字节稍多些,

使用特权

评论回复
地板
txcy| | 2013-10-27 21:41 | 只看该作者
要协议,你直接比较会出问题的
比如,每一帧都以0x12,0x34,0x56,0x78,4字节开头
然后+一个字节的数据类型或者该帧是给谁的,比如给线程1,就0x01,给0x02
然后+二个字节的数据长度,比如你是发300个字节则为0x01,0x2c
然后是数据,比如你那300个字节
最后是校验,把前面所有的用32位(4字节)或者16位(二字节)加起来不足的补零
如上面(按16位加)就是SUM=0x1234+0x5678+0x0101+0x2c..+....
所以最终就是
帧头4字节 0x12 0x34 0x56 0x78
帧所属进程1字节 0x03
帧内数据长度2字节 0x01 0x2c
帧数据....
校验

使用特权

评论回复
5
hsbjb| | 2013-10-28 16:40 | 只看该作者
LS分析的很详细

使用特权

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

本版积分规则

239

主题

2284

帖子

0

粉丝