你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

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

[复制链接]
jml/ 提问时间:2014-3-20 22:32 /
 比如,在技术文档中,计数器向上计数模式中,计数器从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);    ///使能更新事件
收藏 2 评论6 发布时间:2014-3-20 22:32

举报

6个回答
dlyt03 回答时间:2014-3-26 16:14:37

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

看看下面文档,希望对你有帮组!
 
STM8时基单元.pdf (504 KB, 下载次数: 577)
木头子 回答时间: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函数用错了吧,可以联机仿真,设置断点,看看相应的寄存器是不是配置正确
sssdd 回答时间:2017-4-17 09:12:57
更新事件是个中断源,而且是个可屏蔽的中断源。

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

当更新事件发生,就会进对应中断。
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版