首页 > 编程知识 正文

http协议理解,usb通信协议深入理解

时间:2023-05-06 20:56:51 阅读:157553 作者:681

如果有问题的话请回复评论。 然后从邮箱里催促回信。 550746284@qq.com私信不回复。 我想知道我想知道

这个系列的博客共有三篇,这是第一篇。

我以前看过mavlink协议,但是关于网上mavlink的资料不多。 本文总结了对mavlink协议的理解。 除非在以下说明,否则为mavlink v1.0版本。

首先,附上mavlink上每条消息的概要https://pixhawk.ethz.ch/mavlink/。 mavlink协议介绍http://qgroundcontrol.org/MAV link/MAV link /

之后,在我的资源上上传为初学者准备的mavlink资料。 转载。 已经上传到笔者的资源,可以免费下载。 mavlink纯白色教程(英文)那是一般的说法,有助于新人理解什么是mavlink,mavlink能做什么等。 资料只有第一部分,没有找到第二部分的笔者(可能是原作者没有继续第二部分)。

首先简单说明mavlink协议。 Mavlink协议是苏黎世联邦理工学院计算机视觉&; 几何实验集团的Lorenz Meier于2009年发表,符合LGPL开源协议。 Mavlink协议是一种基于串行通信的高层开源通信协议,主要应用于micro aerial vehicle的通信。 Mavlink制定了小型飞机与地面站(或其他飞机)通信常用的数据收发相关规则,增加了检查功能。

【1】对mavlink发送的数据结构进行说明。 Mavlink传输时的基本单位是消息帧。

如该图所示,各消息帧以上述结构表示,除灰色以外的网格表示1字节的数据。

红色的是开始标志位(stx ),版本v1.0中将“FE”作为开始标志。 此标志位在mavlink消息帧接收方解码消息时很有用。

第二个网格代表灰色部分(被称为payload,有效载荷,要使用的数据位于有效载荷中)的字节长度) len ),范围在0和255之间。 在mavlink消息帧的接收端,可以与实际接收的有效载荷的长度进行比较,以验证有效载荷的长度是否正确。

第三个方格表示当前消息帧的序列号(seq ),每发送一条消息,该字节的内容加1,加255后从0开始重新开始。 此序列号用于计算mavlink消息帧接收方的消息丢失百分比,相当于信号强度。

第四个方格表示发送该消息帧的设备的系统号码(sys ),用于使用PIXHAWK打印PX4固件的默认系统号码是1,mavlink

第五个方格表示传送该消息帧的设备的单元号码(comp ),用PIXHAWK打磨PX4固件时的默认单元号码是50,MAV link memain

请注意,第六个方块表示有效载荷中消息包的编号(msg ),它们的序列号不同。 这个兼职很重要。 mavlink消息帧接收方根据该编号确定有效载荷中包含的消息包,并根据编号选择相应的方法处理有效载荷中的包。

最后两字节为16比特奇偶校验比特,ckb为高位8比特,cka为低位8比特。 通过crc16算法获得校验码,该算法计算整个消息(从起始比特至有效载荷末端再增加MAVLINK_CRC_EXTRA字节) crc16,生成16比特的校验码上述每个有效载荷中的分组(指示是哪个分组的分组编号)对应于飞机和地面站为了使用不同版本的mavlink而添加的MAVLINK_CRC_EXTRA,从而允许不同版本之间的MAVLINK_CRC_EXTRA

为了方便起见,消息包被称为分组,分组表示的信息被称为消息。 上图中的3358www.Sina.com/称为syssysid称为comp,http://www.Sina .

官方介绍如下图

由于图片上传量已达到上限,我们将在下一个博客中继续介绍mavlink协议。 以下各节介绍mavlink消息的类型,以及如何查看开始时提到的官方mavlink消息介绍。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。