- Main文件:飞控初始化及任务调度器。
- User_Task: 用户线程,其中有一个函数(示例):一键起飞/降落
先判断是否有信号,然后如果第六通道拨杆满足下面的要求,就执行一键起飞。其中OneKey_Takeoff() 函数是最关键的,是用来发送这个一键起飞的命令
OneKey_Takeoff()里的内容主要是协议PDF中有的的控制命令,可以在Pdf中查看。
然后一键降落也是一样。
- Ano_Scheduler 调度器文件,主要用处是在loop函数中加入自己二次开发的函数
- Drv_BSP_Init 这个文件里装了所有相关外设的初始化,里面可以方便二次开发修改参数,例如串口
- Ano_DT_LX 这个文件是数传的函数,这里面实现了所有上位机和IMU通讯的一些收发,
- Ano_LX 这里面是飞控的一些基础功能, 一些1ms延时任务就在这个函数里面,比较重要,
- LX_FC_Fun 这里面定义好了许多常用的函数,这些函数的格式都是参照控制命令表格写的
例如:
- LX_FC_State 飞控的状态函数 里面通过宏定义定义类一些遥控遥感一些特定的动作,主要有两个功能,1 飞控的解锁
2.在野外快速的触发校准,都是通过遥感打到不通位置实现的。
- LX_FC_EXT_Sensor 外部传感器
其中有两个传感器
- 通用速度传感器 对应光流,就是把光流的数据处理成通用数度传感器
- 通用距离传感器
DriverBSP/MCU文件里剩下的函数都是基础的驱动部分,例如:
驱动,lED,ADC,PWM,Time,USART,Math(数学库),接收机采集(RCin),光流(Ano of),GPS数据的采集
Library里都是Stm32里的函数库