自动着陆函数void AutoLand(void) ,这个比较简单,详细注释如下:
void AutoLand(void) //自动着陆函数
{
static uint32_t landStartTime=0; //着陆起始时间
uint32_t landTime=0; //着陆时间
if(offLandFlag) //着陆标志
{
if(landStartTime==0)
landStartTime=millis();
landTime=millis() - landStartTime; //着陆时间
if( landTime>4000) //着陆时间大于4秒
{
altCtrlMode=MANUAL; //模式切换为手动模式
FLY_ENABLE=0; //飞机使能标志清零
offLandFlag=0; //着陆标志清零
landStartTime=0; //开始着陆的时间清零
}
}
else
{
altCtrlMode=MANUAL; //切换为手动模式
FLY_ENABLE=0; //飞机使能标志清零
}
}