打印

请问TIM2定时中断的问题

[复制链接]
1691|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

粉丝