为什么定时器7初始化后立刻进入中断?

2019-07-21 00:26发布

本帖最后由 1860xq 于 2016-1-4 19:59 编辑

为什么定时器7初始化后立刻进入中断?而不是等到定时时间到了再进入中断?[mw_shl_code=applescript,true]/*定时器7初始化*/
//arr: 自动重载值,4000-1
//psc: 预分频器值,42000-1
void TIM7_Initial(u16 arr,u16 psc)
{
        /*TIM7初始化*/
        RCC->APB1ENR|=1<<5; //使能TIM7时钟
        TIM7->ARR=arr; //自动重载值
        TIM7->PSC=psc; //预分频器值
        TIM7->DIER|=1<<0;   //允许更新中断
        TIM7->CR1|=1<<0; //使能TIM7

        NVIC_Initial(1,3,TIM7_IRQn,2);
}

/*定时器7中断函数*/
void TIM7_IRQHandler()
{
        if(TIM7->SR&(1<<0)) //更新中断挂起
                        TIM7->CR1&=~(1<<0); //关闭TIM7
        TIM7->SR&=~(1<<0);//更新中断标志清0
}
[/mw_shl_code]

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。