本文件比较简单,代码比较少,主要涉及解锁后四个电机依次1/2/3/4转动,然后四轴也不会飞,只是在原地轻微转动,随后需要逐渐加油门至50%到达临界点,稍微往上推一点,电机声音就会发生变化,所以可以听声音来判断临界点,很好判断,同时也是执行最后一公里任务的重要组成部分,代码里面都有详细注释
#include "Ano_MotorCtrl.h"
#include "Ano_Math.h"
#include "ANO_RC.h"
#include "Drv_icm20602.h"
#include "Drv_spl06.h"
#include "Ano_Imu.h"
#include "Drv_pwm_out.h"
#include "Ano_MotionCal.h"
#include "Ano_Filter.h"
#include "Ano_Navigate.h"
/*
四轴:
机头
(顺)m2 m1(逆)
\ /
\ /
/ \
/ \
(逆)m3 m4(顺)
机尾
*/
//重要数组
//第一个参数是最终需求,第二个参数起到临时变量的作用,最后把值传给第一个
s16 motor[MOTORSNUM];
s16 motor_step[MOTORSNUM];
//float motor_lpf[MOTORSNUM];
//计数器
static u16 motor_prepara_cnt;
_mc_st mc;
//见名知意,处于空闲状态.
//如果没猜错,处于这个状态的话只会让螺旋桨轻微转动
#define IDLING 200
//电机控制任务
//此文件仅此一个函数
void Motor_Ctrl_Task(u8 dT_ms)
{
u8 i;