void Calculate_Target(void)
{
int16_t ftemp=0;
Target.Pitch = (1500-RC_Data.PITCH)/(20 + 7*RC_Data.SENSI
tiVITY);//Target.Pitch??
Target.Roll = (RC_Data.ROLL-1500)/(20 + 7*RC_Data.SENSITIVITY);
//Ä¿±êº½Ïò¿ØÖÆ¡£µ±ÓÍÃÅ´óÓÚ×îС¼ì²éֵʱ£¬ÈÏΪÓû§Ï£ÍûÆð·É¡£ÄÇô´ËʱµÄº½Ïò×öΪĿ±êº½Ïò
if(RC_Data.THROTTLE > RC_MINCHECK ) {
if(flag.LockYaw != 1){
flag.LockYaw = 1;
Target.Yaw = AngE.Yaw; //½«µ±Ç°µÄº½Ïò×öΪĿ±êº½Ïò
}
}
else {
flag.LockYaw = 0;
Target.Yaw = AngE.Yaw;
}
//º½ÏòÔÚÖеãÉèÖÃÒ»¸öËÀÇø
if((RC_Data.YAW > 1600)||(RC_Data.YAW < 1400)){
ftemp = 1500 - RC_Data.YAW;
Target.Yaw += (ftemp / 200.0f)*0.1f;
//ת[-180.0,+180.0]
if(Target.Yaw >180.0f) Target.Yaw -= 360.0f;
else if(Target.Yaw <-180.0f)Target.Yaw += 360.0f;
}
}
///////////////////////////////////////////////////////////////////////////////////////////
这些程序看不懂呢