请问TIM2定时中断的问题

[复制链接]
2363|3
 楼主| kql103ly 发表于 2012-2-12 15:38 | 显示全部楼层 |阅读模式
STM32定时中断时,如果前一中断的服务程序还未执行完,下一次中断就发生了,这时会发生什么情况呢
香水城 发表于 2012-2-12 22:07 | 显示全部楼层
没有什么情况,一切照旧。
 楼主| kql103ly 发表于 2012-2-13 08:53 | 显示全部楼层
呵呵,我的情况是,TIM2 CC1通道设置为TIM_OCMode_Timing模式,CCR1值设置为500,下面是我的中断服务程序的一部分:
void TIM2_IRQHandler(void)
{
u8 za1;
u16 capture;
if (TIM_GetITStatus(TIM2, TIM_IT_CC1) != RESET)
    {
         TIM_ClearITPendingBit(TIM2, TIM_IT_CC1 );
         capture = TIM_GetCapture1(TIM2);
         TIM_SetCompare1(TIM2, capture + CCR1_Val );
                 ........
    }
我想问的是如果定时器溢出时间在某种情况下(比如说中断服务程序里面某段if语句被执行)小于中断服务程序的执行时间,因为我在一开始就把中断标志位清了,如果在中断服务程序正在运行时,定时器计数溢出,会不会打断该中断服务程序的执行。
香水城 发表于 2012-2-13 11:52 | 显示全部楼层
同一个中断向量下的中断不会打断它自己。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

10

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部