MAVLINK协议

参考https://cloud.tencent.com/developer/news/48344html

https://www.cnblogs.com/lovechen/p/5801679.htmlpython

https://www.cnblogs.com/lovechen/p/5809709.htmgit

https://www.jianshu.com/p/e57aa664103fgithub

https://www.e-learn.cn/content/qita/1017591函数

是一种用于飞行器上的轻量级成熟通讯协议,与不少自定的协议相比,它的开发难度很是小,有现成的配置工具,可直接生成MSG代码(简单来讲,就是生成对应的函数接口供你直接调用便可),直接调用几个相应的函数接口便可,不须要本身封装、解析等;突出的优势在于配置调用比较简单工具

 

 

1.配置url

MAVLink经过xml文件,配置信息(MSG),这个MSG能够理解成咱们须要接收或者发送的数据变量。好比:运动控制包含速度距离,xml配置以下:spa

 

 2.经过生成代码 .net

从官网下载mavlink(git clone https://github.com/mavlink/mavlink.git)3d

mavlink官网(http://qgroundcontrol.org/mavlink/start),下拉到MAVLink Code and Generator以下图,获得mavlink源码有多种途径,这里选取用python生成。即点击MAVLink Generator (C/C++, Python)

git clone https://github.com/mavlink/mavlink mavlink-generator

或者用PYTHON进行安装 pip install pymavlink,切换到mavlink-master目录下而后运行python mavegenerate.py ,而后修改xml并生成C库

 

 

3.调用代码

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

两个函数便可:

mavlink_msg_motion_pack:封包函数接口;

mavlink_msg_to_send_buffer:转换成发送的BUF

4编译排错:

keil工程里面全局编译一下,会发现好多的错误。这个错误跟编译器有关。一种方式是直接修改每个错误,能够自行百度“mavlink移植 ”;固然还有一种方法,是在工程配置中加入以下配置:

--no_strict --gnu

目的是想让MAVLink这段代码采用gun的格式进行编译,可是要注意其余的代码须要保证是使用的keil的默认编译器__CC_ARM进行编译。再次编译会发现没有错误。

相关文章
相关标签/搜索