打印
[STM32F4]

如何才能清除定时器(如T4)的状态寄存器

[复制链接]
601|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yzzly|  楼主 | 2018-12-5 09:06 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 yzzly 于 2018-12-5 09:14 编辑

定时器进入更新中断后,发现TIM4->SR=0x1F
void TIM4_IRQHandler(void)
{
        if(TIM4->SR & TIM_IT_Update)
        {
                TIM_ClearITPendingBit(TIM4,TIM_IT_Update);
        }
        if(TIM4->SR & TIM_IT_CC1)
        {
                TIM_ClearITPendingBit(TIM4,TIM_IT_CC1);
        }
        if(TIM4->SR & TIM_IT_CC2)
        {
                TIM_ClearITPendingBit(TIM4,TIM_IT_CC2);
        }
        if(TIM4->SR & TIM_IT_CC3)
        {
                TIM_ClearITPendingBit(TIM4,TIM_IT_CC3);  
        }
        if(TIM4->SR & TIM_IT_CC4)
        {
                TIM_ClearITPendingBit(TIM4,TIM_IT_CC4);
        }
}

事实上程序只使能了更新中断,并没有使能比较中断,

并且不能清除,TIM4->SR=0都不行,究竟怎么回事?
沙发
晓伍| | 2018-12-6 12:57 | 只看该作者
我就知道复位可以 别的不知道

使用特权

评论回复
板凳
八层楼| | 2018-12-6 12:59 | 只看该作者
手动不可以清除吗

使用特权

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

本版积分规则

426

主题

1169

帖子

3

粉丝