mavlink c 编码解码demo

该代码示例展示了如何使用 MAVLink 库发送心跳消息和本地位置信息,并进行解析。程序首先初始化 MAVLink 系统,然后定义一个发送缓冲区,接着打包并发送 MAVLink 消息。发送的消息包括心跳信息和本地位置信息(NED坐标系)。接收到的消息通过 mavlink_parse_char() 函数进行解析,并打印出相关信息。

#include "common/mavlink.h"
#include "common/mavlink_msg_local_position_ned.h"
#include "common/mavlink_msg_sys_status.h"
#define BUFFER_LENGTH                                                          \
  2041 // minimum buffer size that can be used with qnx (I don't know why)

int main(int argc, char *argv[]) {

  mavlink_system_t mavlink_system = {
      1, // System ID (1-255)
      1  // Component ID (a MAV_COMPONENT value)
  };
  char help[] = "--help";

  char target_ip[100];

  float position[6] = {};
 
  uint8_t buf[BUFFER_LENGTH];
  ssize_t recsize;
  // socklen_t fromlen = sizeof(gcAddr);
  int bytes_sent;
  mavlink_message_t msg2;

  // mavlink_message_t msg;
  mavlink_status_t status;

  uint16_t len;
  int i = 0;
  // int success = 0;
  unsigned int temp = 0;
  {

    /*Send Heartbeat */
    // mavlink_msg_heartbeat_pack(1, 200, &msg, MAV_TYPE_HELICOPTER,
    // MAV_AUTOPILOT_GENERIC, MAV_MODE_GUIDED_ARMED, 0, MAV_STATE_ACTIVE);
    // 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值