MiniFly Firmware V1.1开源四轴代码分析一:radiolink.c

本文详细分析了MiniFly Firmware V1.1中的radiolink.c文件,主要介绍了串口通信、数据接收与发送的流程。通过NRF51822接收ATKP数据,存储并打包,然后通过串口DMA发送给STM32411C。同时,介绍了初始化、接收队列和发送队列的操作,以及如何检测和发送无线数据包。STM32411C通过串口中断服务函数接收NRF51822的数据,并使用串口DMA向NRF51822发送数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1,void radiolinkTask(void *param)
作用:接收来自NRF51822的ATKP数据,打包成ATKP包并存到rxPacket结构体中,再从TtxPacket结构体中取包通过串口DMA发送给NRF51822

2,void radiolinkInit(void)
作用:初始化串口,检测是否创建了“发送消息队列”,没有则创建,用作发消息给NRF51822等

3,static void uartSendPacket(atkp_t *p)
作用:把结构体atkp_t,打包ATKPPacket数据,并通过串口DMA发送->uartslkSendDataDmaBlocking(dataSize, sendBuffer);

4,static void atkpPacketDispatch(atkp_t *rxPacket)
作用:把接收到的一个遥控无线数据包存到“接收队列”,并从“发送队列”中获取一个包,通过串口DMA发送
其中接收包:atkpReceivePacketBlocking(rxPacket)函数原型为atkpReceivePacketBlocking(atkp_t *p),函数里面
调用xQueueSend(rxQueue, p, portMAX_DELAY),向“接收队列”发送消息,也就是把接收到的包发送到“接收队列”
其中发送包

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值