请教各位工程师们一个问题,在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同步起来,我有点不解这是什么意思,请指点迷津。谢谢各位
此帖出自
小平头技术问答
一周热门 更多>