MiniFly Firmware_F411 通信数据帧ATPK分析

本文详细介绍了STM32中ATKP通信协议的数据帧结构,包括帧头、MsgID、数据长度、数据内容和校验和的组成。通过实例分析了控制命令(如一键起飞)和控制数据(如飞行姿态设置)的数据帧,揭示了数据帧如何表示控制指令和浮点数在小端字节序中的存储方式。
摘要由CSDN通过智能技术生成

参考资料:3.2 通信协议

ATKP通信协议部分主要在 atkp.h 中,ATKP 数据包格式及 msgID 功能字定义代码如下:
ATKP帧结构:
帧头+MsgID+数据长度(len)+数据(data[0]+data[len-1])+校验和
对应:
帧头(2个字节)+MsgID(1字节)+DataLen(1字节)+Data(最多30字节)+校验(1字节)
帧头: 分为上行帧头和下行帧头,

在这里插入图片描述

MsgID: 有上行指令和下行指令之分
上行指令:

Radiolink遥控器是一款适用于xp、win7、win8和win10系统的遥控器。它需要通过使用Android手机数据线将遥控器连接到电脑,并在开启遥控器电源后进行驱动安装。驱动安装程序是zadig.exe。 Radiolink遥控器中的radioInit(void)函数有两个主要作用。首先,它会检查模块是否正常工作,如果正常,则将其设置为发送模式。其次,它会调用"设置nrf回调函数",也就是设置中断函数中调用哪个函数来响应中断。这个过程是将函数nrf_interruptCallback(void)传递给函数指针,这样当PC13引脚发生NRF-IRQ中断时,中断函数就会调用nrf_interruptCallback(void)函数。 在Radiolink遥控器中,还有一些其他的函数,比如获取丢包个数的函数radioinkFailRxcount(),获取无线连接状态的函数radioinkConnectStatus(),以及使能Radiolink的函数radiolinkEnable()。这些函数分别用于获取丢包个数、获取无线连接状态以及控制Radiolink的启用和暂停。 Radiolink遥控器还包括一个名为radiolinkTask的任务,其主要功能是向四轴发送ATKP数据包,并接收四轴返回的应答包。在这个任务中,定义了两个消息队列,一个用于存放要发送给四轴的信息,另一个用于存放从四轴返回的信息。发送和接收都是针对四轴而言。 以上是关于Radiolink遥控器的一些介绍和功能说明。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值