高级会员
- 积分
- 826
- 金钱
- 826
- 注册时间
- 2017-6-18
- 在线时间
- 163 小时
|
楼主 |
发表于 2021-10-3 20:25:12
|
显示全部楼层
哪位大哥能指点一下吗?
这个中断函数:
void TIM6_DAC_IRQHandler(void)
{
// taskDISABLE_INTERRUPTS();
//
//// UBaseType_t sta;
//// sta=taskENTER_CRITICAL_FROM_ISR();
//
// HAL_TIM_IRQHandler(&_htim6);
//
//// taskEXIT_CRITICAL_FROM_ISR(sta);
//
// taskENABLE_INTERRUPTS();
if(__HAL_TIM_GET_FLAG(&_htim6,TIM_FLAG_UPDATE)!=RESET)
{
ControlBalance_TASK(NULL);
__HAL_TIM_CLEAR_FLAG(&_htim6,TIM_FLAG_UPDATE);
}
}
/******************************************************************************/
//×Ôƽoa¿ØÖÆèÎÎñ
void ControlBalance_TASK(void *p_arg) //×Ôƽoa¿ØÖÆèÎÎñ
{
float pitch=0, roll=0, yaw=0;
//int16_t gyroX=0, gyroY=0, gyroZ=0;
uint16_t valL=0, valR=0;
//while(1)
{
mpu_dmp_get_data(&pitch,&roll,&yaw); //»ñè¡MPU DMPêy¾Y
//MPU_Get_Gyroscope(&gyroX,&gyroY,&gyroZ); //»ñè¡MPU6050 Ëù¶èÖμ
// valL=__HAL_TIM_GET_COUNTER(&_htim4);
// valR=__HAL_TIM_GET_COUNTER(&_htim5);
//
// //×óÂÖ·-×aλÖüÆËã
// if((int32_t)valL-valL_old<-32768) //¼ÆêyÆ÷¸o±ßÔμ
// {
// valL_sum+=65536; //Ôö¼óò»è|
// }else if((int32_t)valL-valL_old>32768) //¼ÆêyÆ÷Õy±ßÔμ
// {
// valL_sum-=65536; //¼õéùò»è|
// }
// _posL=valL_sum+valL; //μ±Ç°Î»ÖÃ
// valL_old=valL;
//
// //óòÂÖ·-×aλÖüÆËã
// if((int32_t)valR-valR_old<-32768) //¼ÆêyÆ÷¸o±ßÔμ
// {
// valR_sum+=65536; //Ôö¼óò»è|
// }else if((int32_t)valR-valR_old>32768) //¼ÆêyÆ÷Õy±ßÔμ
// {
// valR_sum-=65536; //¼õéùò»è|
// }
// _posR=valR_sum+valR; //μ±Ç°Î»ÖÃ
// valR_old=valR;
//
// _pos=(_posL+_posR)/2; //¼ÆËãμ±Ç°Î»ÖÃ
//
err=0-pitch;
// errSpeed=_pos_old-_pos; //¼ÆËãËù¶è
// _pos_old=_pos;
out=pidUpdate(&_pidBalance,err); //PID¸üDÂ
//outSpeed=pidUpdate(&_pidSpeed,errSpeed);
//out-=outSpeed;
motor_setPWM(out,out);
//osDelay(10);
//delay_ms(3);
//ANOTC_Send_Status(roll,pitch,yaw,0,0,0);
//printf("Frame Rate: %f\r\n",SYSTEM_FrameRate());
}
}
/******************************************************************************/ |
|