分析飞控源码:

1.main.c - 主函数

2.Ano_Scheduler.c - 非核心任务调度器

3.ANO_LX.c - ANO_LX_Task:核心调度

4.User_Task.c - 用户进程(结合LX_FC_Fun.c编写)

5.Drv_BSP.c - All_Init:串口和相关外设模块初始化

6.ANO_DT_LX.c:通信-匿名数传-上位机-IMU

7.ANO_LX.c:飞控基础核心功能,与3相同

8.LX_FC_Fun.c:常用函数(结合匿名通信协议V7.pdf看)

9.LX_FC_State.c:遥控相关函数

10.LX_FC_EXT_Sensor.c:外部传感器相关函数(光流、T265、激光雷达)

11.其他基础驱动相关(仅观察TM4C的驱动)

TM4C123/Drivers文件夹

Drv_Led.c:LED输出

Drv_Adc.c:电压采样

Drv_PwmOut.c:PWM输出

Drv_time.c:定时器

Drv_usart:串口

/DriversBsp 文件夹

Ano_Math.c:数学函数库

Drv_Ano_of.c:光流数据采集

Drv_UbloxGPS.c:GPS数据采集

TM4C123/Libraries 文件夹:关于TM4C芯片的函数库

关于UWB

LinkTrack 数据手册:LinkTrack_Datasheet_V2.3_zh.pdf

LinkTrack 用户手册:LinkTrack_User_Manual_V2.3_zh.pdf

在上面的代码中,pos_3d 是一个浮点数数组,它包含3个元素,分别表示3D空间中的坐标(通常为x、y、z轴)。

如何获取坐标参数?

  1. 在代码中,pos_3d 存储在 nlt_tagframe0_result_t 结构体中。
  2. 你可以在 g_nlt_tagframe0.result.pos_3d 中访问这个坐标。

代码中的处理流程:

nlink_linktrack_tagframe0.c 中,接收到的数据会经过解包处理,pos_3d 数据会被解包并存储到 g_nlt_tagframe0.result.pos_3d 中。

关于OpenMV通过串口接收飞控发送的位置数据