我是靠谱客的博主 自觉萝莉,最近开发中收集的这篇文章主要介绍一个单片机和ARM cpu之间通信协议的示例一个单片机和ARM cpu之间通信协议的示例,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一个单片机和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

转载于:https://blog.51cto.com/8906847/2370320

最后

以上就是自觉萝莉为你收集整理的一个单片机和ARM cpu之间通信协议的示例一个单片机和ARM cpu之间通信协议的示例的全部内容,希望文章能够帮你解决一个单片机和ARM cpu之间通信协议的示例一个单片机和ARM cpu之间通信协议的示例所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(46)

评论列表共有 0 条评论

立即
投稿
返回
顶部