最近在用STM32F103R8T6做一个无刷电机的驱动程序,其中用TIM1高级定时器做了一个定时中断,方便做控制。程序的配置上,定时器1工作正常,如果只是调用普通函数是没有问题的,但是在调用有参数返回的函数的时候,中断函数并没有退出。
程序大概如下:
void TIM1_UP_IRQHandler(void)
{
if(TIM_GetITStatus(TIM1 , TIM_IT_Update) == SET)
{
TIM_ClearITPendingBit(TIM1 , TIM_IT_Update);
LED_On_Only(LED1); //程序工作正常
//angle = Get_Angle(); //加上这句的时候程序就死中断里面没有出来
}
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
如果中断频率1KHZ, 而你的 Get_Angle(); 运行一遍 却要2mS, 你说 是不是会出问题?
另外 ,很有可能 你的Get_Angle(); 函数 还有另外的问题.
Get_Angle(); 需要这么高的带宽????
一周热门 更多>