请教各位工程师们一个问题,在STM32定时器当中见到这样的一个配置
TIM_SelectOutputTrigger(TIM1, TIM_TRGOSource_Update); 将UPDATE事件作为触发输出
// TIM_ClearITPendingBit(TIM1, TIM_IT_Break); 没用刹车功能,下奴婢官
// TIM_ITConfig(TIM1, TIM_IT_Break,ENABLE);
TIM_ARRPreloadConfig(TIM1, ENABLE); 使能预装载
TIM_Cmd(TIM1, ENABLE); 使能定时器1
// Resynch to have the Update evend during Undeflow
TIM_GenerateEvent(TIM1, TIM_EventSource_Update); 在这里,人为的产生了一个Update事件,也就是产生了一个触发输出事件
// Clear Update Flag
TIM_ClearFlag(TIM1, TIM_FLAG_Update); 清标志位
TIM_ITConfig(TIM1, TIM_IT_Update, DISABLE);
TIM_ITConfig(TIM1, TIM_IT_CC4,DISABLE);
不过,各位朋友可以看到,在调用TIM_GenerateEvent函数的时候,是没有使能UPDATE中断的,也就是说,软件产生该事件之后,定时器是不会产生中断的,产生完UPDATE事件之后,又马上清楚了标志位。感觉像隔着衣服挠痒痒,没啥实质性的名堂呢。然而程序注释当中,写到Resynch to have the Update evend during Undeflow ,将下溢中断跟UODATE同步起来,我有点不解这是什么意思,请指点迷津。谢谢各位 |