一个单片机和ARM cpu之间通信协议的示例

发布时间:2020-06-30 21:34:44 作者:GaoNeil
来源:网络 阅读:763

一个单片机和ARM cpu之间通信协议的示例

在进行soc之间进行通信时,往往需要制定通信协议,以下是我制定的一个示例,供大家参考:

  1. 格式:
    一个单片机和ARM cpu之间通信协议的示例

1)magic
magic头长度为2字节,内容为0x55,0xAA,这是字节出现顺序,不区分little endian还是big endian。
magic头的作用是为了实现在发送和接收同步丢失时,快速找到同步。
2)type
type长度为2字节,内容为具体的message id号。message id采用little endian字节序。
3)length
length为后面的data字段的长度,单位为字节数。length占两个字节。length采用little endian字节序。
4) verify head
verify
head为head的校验码,可以迅速知道head是否正确。 head包括从magic到length整个内容。如果内容不对,那么需要重新搜索magic头,再检查head是否正确,从而可以快速同步。校验head的正确性后,length就可以正常使用,正确定位数据的长度。
verify_ head占2个字节。 verifyhead的算法可以采用简单的16bit异或算法,或者CRC16算法,或者其他算法。为简单方便,目前采用16bit异或算法。
verify
head采用little endian字节序。
5) data
data为任意长度的数据。具体格式根据具体的message id来定。
6) verify_data
verify_data为data段的校验。可以采用各种算法。verify_data根据算法的需求来确定长度。
为简单方便,目前采用8bit异或算法,即这里采用1字节长度。

一个单片机和ARM cpu之间通信协议的示例
一个单片机和ARM cpu之间通信协议的示例
一个单片机和ARM cpu之间通信协议的示例
一个单片机和ARM cpu之间通信协议的示例

另外我的相关培训视频请看:
欢迎观看我发布的各个课程: https://edu.51cto.com/lecturer/8896847.html

另外我的免费的linux各种驱动开发课程如下:
https://edu.51cto.com/course/17138.html

我的新的更多优惠的打包课程链接如下:
https://edu.51cto.com/sd/0a9d4

推荐阅读:
  1. 边缘计算和ARM之间存在着哪些关系
  2. ARM基本构成

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

通信协议 soc间通信 soc

上一篇:为history命令增加时间戳

下一篇:mysql ---------binlog

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》