0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一种轻量级的通信协议 - MAVLink

黄工的嵌入式技术圈 来源:黄工的嵌入式技术圈 2020-03-12 14:14 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

MAVLink主要是一种用于飞行器上的通信协议,但很有参考意义,算是给大家普及的知识。

Ⅰ关于MAVLink

可能很多人都不知道“MAVLink”是什么东西,简单来说它就是一种轻量级的通信协议。

可能很多人会问,大家都不了解的这个“东西”,你讲来干什么?

正如抬头所说:给大家普及知识,而且可以应用到许多地方,说不定我讲过之后你就会用上它。

1.对于初学者,了解一种协议的格式,以及它的应用我觉得对他以后的编程有帮助;

2.一种在某个行业通用,并且很成熟的通信协议很有借鉴;

3.MAVLink与很多自定的协议相比,它的开发难度非常小,有现成的配置工具,可直接生成MSG代码(简单来说,就是生成对应的函数接口供你直接调用即可),直接调用几个相应的函数接口即可,不需要自己封装、解析等;

4.MAVLink是一种轻量级的通信协议,可用于各类运行速度不是很高的单片机中(当然,也能用于快速的PC中)。

ⅡMAVLin协议结构

先看协议结构(或者说格式),如下图:

看到上面协议格式,相信大家都会觉得,这不就是一般的协议吗? 说实话,它和一般的协议格式没什么两样,但“五脏俱全”,就是一种协议。就像人,有黄种人、白种人、黑种人等各种各样的人,但都属于人。

ⅢMAVLink的使用简单、方便

说实话,本文的重点在于这一章节。MAVLink和一般协议比较,它不仅具有常规协议的格式,突出的优点在于配置和调用比较简单。

1.配置

MAVLink通过xml文件,配置信息(MSG),这个MSG可以理解成我们需要接收或者发送的数据变量。比如:运动控制包含速度和距离,xml配置如下:

2.通过生成代码

本节牵涉到相关工具的安装,这里不讲述。下面是生成的工具:

3.调用代码

代码生成,只需要简单调用两个函数接口即可:

两个函数即可:

mavlink_msg_motion_pack:封包函数接口;

mavlink_msg_to_send_buffer:转换成发送的BUF;

如下:

看到上面的调用,是不是很简单呢?

本文只是简单的讲述,想要学习更是相关MAVLink的知识,请参考网址:

MAVLink主页:mavlink_msg_to_send_buffer

协议说明(维基百科):https://en.wikipedia.org/wiki/MAVLink

Ⅳ最后

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 通信协议
    +关注

    关注

    28

    文章

    1073

    浏览量

    41869
  • 编程
    +关注

    关注

    90

    文章

    3708

    浏览量

    96767
  • mavlink
    +关注

    关注

    0

    文章

    9

    浏览量

    2758
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Xilinx FPGA串行通信协议介绍

    Xilinx FPGA因其高性能和低延迟,常用于串行通信接口设计。本文深入分析了Aurora、PCI Express和Serial RapidIO这三在Xilinx系统设计中关键的串行通信协议。介绍了它们的特性、优势和应用场景
    的头像 发表于 11-14 15:02 1915次阅读
    Xilinx FPGA串行<b class='flag-5'>通信协议</b>介绍

    如何使用FPGA实现SRIO通信协议

    本例程详细介绍了如何在FPGA上实现Serial RapidIO(SRIO)通信协议,并通过Verilog语言进行编程设计。SRIO作为一种高速、低延迟的串行互连技术,在高性能计算和嵌入式系统中广
    的头像 发表于 11-12 14:38 4998次阅读
    如何使用FPGA实现SRIO<b class='flag-5'>通信协议</b>

    分布式能源并网的通信协议有哪些?

    ”“工业通用协议”“国内自主标准” 三大类别,梳理主流通信协议及其应用场景: 、国际标准协议(主流且通用性强) 这类协议由国际电工委员会(
    的头像 发表于 09-18 16:40 977次阅读
    分布式能源并网的<b class='flag-5'>通信协议</b>有哪些?

    工业通信协议都有哪些?#三格电子

    通信协议
    三格电子科技
    发布于 :2025年08月28日 10:35:26

    哪些协议是工业通信协议?#三格电子

    通信协议
    三格电子科技
    发布于 :2025年08月27日 14:16:07

    HIPERFACE DSL编码器通信协议介绍

    在工业自动化和智能制造快速发展的今天,编码器在各类设备中扮演着关键角色,精准的位置和速度反馈是确保系统高效、稳定运行的基础。HIPERFACE DSL作为一种先进的编码器通信协议,正逐渐成为众多工业
    的头像 发表于 05-23 14:16 1651次阅读
    HIPERFACE DSL编码器<b class='flag-5'>通信协议</b>介绍

    Modbus 转 Profinet:工业通信协议的桥梁

    1. 引言 在工业自动化领域,Modbus 和 Profinet 是两广泛使用的通信协议。Modbus 是一种串行通信协议,常用于连接工业电子设备,而 Profinet 是
    的头像 发表于 02-24 11:11 691次阅读
    Modbus 转 Profinet:工业<b class='flag-5'>通信协议</b>的桥梁

    PCM4201与DSP之间的通信协议是什么?

    关于PCM4201 与 DSP 之间的通信协议
    发表于 02-08 08:17

    Dali通信的工作原理 如何使用Dali通信协议

    、引言 Dali(Digital Addressable Lighting Interface,数字可寻址照明接口)是一种用于照明控制产品之间双向通信协议。通过Dali
    的头像 发表于 01-31 10:33 4425次阅读

    详解REST API通信协议

    环。 为了实现这目标,我们采用了多种通信协议,包括MQTT、OPC UA、AMQP和REST API,它们共同构成了智能通信的坚实基础。本期内容,让我们聚焦REST API
    的头像 发表于 01-17 12:40 1614次阅读
    详解REST API<b class='flag-5'>通信协议</b>

    搞懂TTL、RS232、485通信协议

    本文介绍了TTL、RS232和RS485这三常见的通信协议的传输距离、应用场景以及影响通信距离的各种因素。TTL是一种短距离通信标准,通常
    的头像 发表于 01-16 10:59 1.1w次阅读
    搞懂TTL、RS232、485<b class='flag-5'>通信协议</b>!

    总线通信协议解析及应用

    在现代计算机系统中,总线通信协议扮演着至关重要的角色。它们定义了数据如何在处理器、内存、输入/输出设备等组件之间传输。 总线通信协议的基本概念 总线通信协议组规则,它规定了数据在系
    的头像 发表于 12-31 10:07 1928次阅读

    常见串口通信协议 如何设置串口参数

    串口通信一种常见的通信方式,广泛应用于计算机、嵌入式系统和各种电子设备之间。串口通信协议主要是指在串行通信中,数据传输的格式和规则。 常见
    的头像 发表于 12-27 09:51 4723次阅读

    RS232接口通信协议详解 如何测试RS232接口的性能

    RS232接口通信协议详解 RS232接口通信协议一种广泛应用的串行通信协议,它规定了数据在设备之间的传输方式和格式。以下是RS232接口通信协议
    的头像 发表于 12-18 18:03 5172次阅读

    AUTOSAR通信协议解析 如何实现AUTOSAR通信

    通信协议栈是个复杂的系统,它涵盖了多种通信方式和模块,以实现车内ECU之间的高效、可靠的数据交换。以下是对AUTOSAR通信协议的解析及实现AUTOSAR
    的头像 发表于 12-17 14:54 3956次阅读