两路 IIC 分别测角加速度和陀螺仪的数据,但程序总跑飞

2019-07-14 23:43发布

大家好,我用两路 IIC 分别测出角加速度和陀螺仪的数据,每10ms进入一次中断,中断中对数据经行处理,并通过usart发送数据。但是程序总是跑飞,原因可能是什么。下面是我中断的代码。
void tiM2_IRQHandler(void)
{
        if ( TIM_GetITStatus(TIM2 , TIM_IT_Update) != RESET )
        {        
                TIM_ClearITPendingBit(TIM2 , TIM_FLAG_Update);   
                GetAngle();
        }                        
}

void GetAngle(void)
{

     LX_Val.Angle+=(LX_Val.Acc)*dt;
    Angle_delta=(MZ_Val.Angle-Real_angle)*Tg;
    Real_angle+=(LX_Val.Acc+Angle_delta)*dt;

                 
         #if 1
      SendDate('1',LX_Val.Angle,100) ;
      SendDate('2',MZ_Val.Angle,100) ;
      SendDate('3',Real_angle,100) ;
          #endif
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。