打印
[STM8]

定时中断计算延时遇到一次中断进两次的问题

[复制链接]
1411|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
mingjiezhong|  楼主 | 2014-8-8 18:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
初始化程序如下

void timer_Init(void)
{  
    TIM2_DeInit();
    TIM2_TimeBaseInit( TIM2_PRESCALER_16 , 999 );
    /* Enable the Interrupt Upmode sources */
    TIM2->IER |= 0x01 ;  
    TIM2-> CR1 |= BIT(0) ;//计数器使能
}

处理程序如下
#pragma vector = TIM2_Updata_vector
__interrupt void TIM2_Updata_IRQHandler(void)   //中断频率 1K
{
   if(!( TIM2->SR1 & (BIT(0)) ) )      //这里比较奇怪,每次计数会有两次进中断的过程,不加上就不对头了
     return ;
   
    TIM2->SR1 &=~BIT(0);//清标志位
    rim();//开总中断
}

不理解STM8S003为什么会有一个定时发送中断,但是要进两次中断的问题,定时器标志我看只有一次置位,有一次定时器更新标志进来的时候就是0,通过逻辑是解决了问题

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

18

主题

80

帖子

0

粉丝