mavlink stm32移植小总结和测试程序

     .国内很多无人机公司都是在开源飞控基础之上作创新和二次开发的,其中不仅仅是飞控和周边设备,还有开源飞控的mavlink协议及其地面站是非常不错的借鉴个学习的材料,现在对mavlink移植作小结如下:

1.编写针对mavlink协议收发的测试小程序

 这个可以参照连接:https://blog.csdn.net/luckpl/article/details/51777744?locationNum=7

这里讲述了mavlink的CRC16-CCITT(概念请自查)的CRC校验的小代码,为此我借鉴其代码程序,在stm32f4上编写了其测试小程序,看图如下: 

其中上面是我截取的数据包的消息ID(消息结构请自查),我取了id为42的消息进行验证;在仿真代码中计算出来的crc是与消息给的crc一致!

移植请注意以下小红框的注解;再次提醒以下几点:

(1)最下方红框注解的消息crc,是我一开始没有出错过,这个在开源飞控制红有个大数组给出来,对应填写上去即可!

(2)因为自己写测试程序,那么组件和系统ID要对应的上,还有mavlink版本,这里面很多道友栽过跟头!


(3)借鉴其他道友的例子来说明前两点的重要性


2.原版移植mavlink官方的头函数进行收发,目前我也测试成功

参考的是各位道友的智慧:参开:https://www.cnblogs.com/lovechen/p/5801679.html

在stm32f4上作的移植,这里做了很详细的说明;而我的移植也是基于此思路来做的;

我目前在stm32f1和f4上已经成功应用-成功的接收和发送所有的ID;之后会在我的的csdn发布出来移植成功的stm32f1的demo代码;供大家学习参考;有人迷糊这个,最后还是要申明下,自定义id特别注意以下两个数组的填写(默认是0),要不然crc校验通过不了!!!


最后感谢阿木道友和恒久力行道友的交流!

STM32F1参考代码请看连接:https://download.csdn.net/download/xiaoxilang/10396810 

STM32F4参考代码请看连接:https://download.csdn.net/download/xiaoxilang/10403906

猜你喜欢

转载自blog.csdn.net/xiaoxilang/article/details/80221065
今日推荐