本文是这篇文章的复现:http://www.sohu.com/a/213599378_175233
一、mavlink分析
Mavlink 的全称是Micro Air Vehicle link,pixhawk把它作为与地面站通信的手段。有了它通信变的有序且简洁。使用需要花些心思,这里给出pixhawk飞控中arducopter代码是如何利用mavlink发送消息,并且更新xml文件通过mavlink generator生成新的消息并发送出来。
1.arducopter发送mavlink消息分析
这里给出arducopter是如何发送mavlink消息的。
首先在arducopter代码上层会通过时间片管理调用多个任务,其中就包括mavlink消息的发送。
ArduCopter.cpp中时间列表调度里如下图所示:
其中SCHED_TASK(gcs_data_stream_send, 50, 550)为主要的数据流发送部分
跟踪其函数到GCS_Mavlink.cpp中
void Copter::gcs_data_stream_send(void)