jml/ 发表于 2014-3-20 22:32:43

STM8定时器更新事件与中断有什么不同

 比如,在技术文档中,计数器向上计数模式中,计数器从0计数到用户定义的比较值(TIMx_ARR寄存器的值),然后重新从0
开始计数并产生一个计数器溢出事件,同时,如果TIM1_CR1寄存器的UDIS位是0,将会产生一
个更新事件(UEV)。请问更新事件是什么,为什么当我使能更新事件的时候,定时器不能正常工作。
 
TIM2_TimeBaseInit(TIM2_PRESCALER_16384, 0x23D0);
  TIM2_Cmd(ENABLE);  ///启用定时器2
  TIM2_ITConfig(TIM2_IT_UPDATE, ENABLE);  //使能中断事件
  TIM2_ARRPreloadConfig(DISABLE);//不预计数装载
  TIM2_SetAutoreload(0x23D0);
  
  //TIM2_UpdateDisableConfig(ENABLE);    ///使能更新事件

dlyt03 发表于 2014-3-26 16:14:37

回复:STM8定时器更新事件与中断有什么不同

看看下面文档,希望对你有帮组!
 

木头子 发表于 2014-3-26 17:58:58

回复:STM8定时器更新事件与中断有什么不同

中断的产生之一就是由于有更新事件发生,如果禁止了更新事件(所谓更新事件一般是指计数器的溢出),那么如果通过计数溢出产生中断将不能发生。
楼主加入TIM2_UpdateDisableConfig(ENABLE)(这个函数变量赋值为ENABLE,表示禁止更新事件发生,并将其值存入影子寄存器),程序将不能进入中断。
所以TIM2_UpdateDisableConfig(ENABLE)实际是禁止更新事件,并非楼主说的允许更新事件。遇到不懂的函数建议查看原函数代码

有缘于你 发表于 2014-3-27 15:40:37

RE:STM8定时器更新事件与中断有什么不同

楼上说得对

feiante-155820 发表于 2014-4-12 16:59:53

RE:STM8定时器更新事件与中断有什么不同

楼主是TIM2_UpdateDisableConfig函数用错了吧,可以联机仿真,设置断点,看看相应的寄存器是不是配置正确

天涯126 发表于 2017-4-16 11:54:10

http://blog.csdn.net/flydream0/article/details/8208463
看看这个贴子

sssdd 发表于 2017-4-17 09:12:57

更新事件是个中断源,而且是个可屏蔽的中断源。

当你不再屏蔽它并且打开中断允许的时候。

当更新事件发生,就会进对应中断。
页: [1]
查看完整版本: STM8定时器更新事件与中断有什么不同