定时器TMR6初始化完成后直接进中断
请大牛指点,程序上电,执行定时器TMR6初始化完成后,计数还未溢出,就直接进中断执行中断函数一次,随后就正常了。网上找STM32的处理方式是,添加中断更新函数,并按一定的指令顺序,即可避免此次中断。
TIM_ClearITPendingBit(TIM1, TIM_IT_Update);//清除更新中断请求位
TIM_Cmd(TIM1, ENABLE);
TIM_ITConfig(TIM1, TIM_IT_Update, ENABLE);//使能定时器1更新中断
AT32的找不到类似的函数可调用,怎么搞了? 对应的三个函数分别如下:
tmr_flag_clear(TMR1, TMR_OVF_FLAG);
tmr_counter_enable(TMR1, TRUE);
tmr_interrupt_enable(TMR1, TMR_OVF_INT, TRUE); 在开启定时器之前先清一下定时器中断标志位也会进入一次中断吗? muyichuan2012 发表于 2024-7-12 14:07
对应的三个函数分别如下:
tmr_flag_clear(TMR1, TMR_OVF_FLAG);
tmr_counter_enable(TMR1, TRUE);
2楼正解, 我的清除标记位放在了初始化之后。 qintian0303 发表于 2024-7-12 14:12
在开启定时器之前先清一下定时器中断标志位也会进入一次中断吗?
我在使能之前清除标记不可以,需要在开中断之前清标记。 定时器启动后,中断初始化之前清除 到底是tmr6还是tmr1?
页:
[1]