新手上路
- 积分
- 43
- 金钱
- 43
- 注册时间
- 2014-11-19
- 在线时间
- 2 小时
|
5金钱
我现在使用407的定时器2和定时器3的溢出中断(只开了溢出中断),中断服务程序:
/****************************************************/
//定时器3定时周期10ms中断服务程序
/****************************************************/
void TIM3_IRQHandler(void)
{
RUNLED_ON;//点亮指示灯
TIM_ClearITPendingBit(TIM3,TIM_IT_Update);
}
现在发现清除完中断标志后,定时器竟然又进入了中断,这时的中断标志位却是0。后来在中断服务程序里加了一句监控语句
/****************************************************/
//定时器3定时周期10ms中断服务程序
/****************************************************/
void TIM3_IRQHandler(void)
{
if(TIM_GetITStatus(TIM3,TIM_IT_Update)==RESET) //无溢出中断
{
TIM_ClearITPendingBit(TIM3,TIM_IT_Update);//此处设断点
}
RUNLED_ON;//点亮指示灯
TIM_ClearITPendingBit(TIM3,TIM_IT_Update);
}
发现经常停到断点处,也就是说在TIMER3的溢出中断标志还是0的时候竟然也进中断了,实在不解。
后来用正点原子的开发板和其自带例程测试也是同样问题。如果有407平台的话,请大家也测试一下,不知是什么原因,有知道的说一声,万分感谢。
|
|