嵌入式学习小组
直播中

王翰音

7年用户 288经验值
私信 关注

请问在串口通信中数据包的帧头和帧尾怎样加入到数据包?

刚刚进入传感器生产企业,对51单片机的认识只限于天祥老师的10天学会单片机水平,关于串口通信问题有一些疑惑,希望传感器行业的朋友能够帮忙解答,如果有问的不明白的地方,希望各位朋友指出。非常感谢。
1,请问在串口通信中,数据包的帧头和帧尾(比如0x55,0xaa)是怎样加入到数据包的?是不是定义一个数组,将帧头和帧尾设置成0x55,0xaa,再将整个数组发送?在发送包含帧头帧尾的数据包时,是否需要在发送端发送时,即校验帧头帧尾?还是只需要在接收端校验帧头帧尾即可?
2,请问在串口通信中,如果需要发送如3.13这样的非整形数据,该如何实现?是由发送端进行处理,还是由接收端接收数据后再进行处理?
3,如果发送端发送3.13这种非整形数据包,如何处理数据包的校验和?

回帖(6)

蔡明灼

2020-3-30 07:15:54
云汉达人

楼主关于数据帧帧头和帧尾的理解是正确的,校验接收方检测就可以了,关于浮点数据的传输,楼主可以参考下这篇文档
举报

梅宁琛

2020-3-30 07:26:52
版主的资料说的很明白!
举报

杨涛

2020-3-30 07:45:43
感谢!感谢!
举报

王华梅

2020-3-30 07:51:04
数据帧是建立一个数组,赋值后发送的,一个完整的通信协议,包括帧头,命令 功能码 数据位  校验码 帧尾数据组成,你把这些固定的0x55 0xAA填入固定的数组单元位置,然后发送数组就可以实现。
  对于浮点数的处理,需要转换为整数存储,再接收端接收后,再转换为实数的。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分