|
关于STM32Fxxx的timerCC1中断的问题
[复制链接]
系统clock 24mhz, timer3时基 24mz
timer 设定两个事件: CC1比较事件 5us ; update 事件 500us
100us 时候会定时的把 timer3的CNT值写成 0x0001 (外部uart事件)
500us 的update事件永远不会发生.
在写CNT 成为 0x0001 之前会打开 CC1中断允许标志位:TIM_IT_CC1.
现象是 CC1 没有延时发生, 而是立即就发生.
在开启CC1中断语句同时, 我clear pending TIM_IT_CC1. 就一切正常了.如下语句
TIM_ITConfig(TIM3, TIM_IT_CC1, ENABLE);
TIM_ClearITPendingBit(TIM3, TIM_IT_CC1 )
TIM3->CNT = 0x0001;
我的问题是, 是为什么操作 TIMx_DIER 中的 CC1IE的同时, 为啥TIMx_SR 中的 CC1IF 会立即变成1.
|
|