分析飞控源码:
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轴)。
如何获取坐标参数?
- 在代码中,
pos_3d
存储在nlt_tagframe0_result_t
结构体中。 - 你可以在
g_nlt_tagframe0.result.pos_3d
中访问这个坐标。
代码中的处理流程:
在 nlink_linktrack_tagframe0.c
中,接收到的数据会经过解包处理,pos_3d
数据会被解包并存储到 g_nlt_tagframe0.result.pos_3d
中。