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); ///使能更新事件
回复:STM8定时器更新事件与中断有什么不同
看看下面文档,希望对你有帮组!回复:STM8定时器更新事件与中断有什么不同
中断的产生之一就是由于有更新事件发生,如果禁止了更新事件(所谓更新事件一般是指计数器的溢出),那么如果通过计数溢出产生中断将不能发生。楼主加入TIM2_UpdateDisableConfig(ENABLE)(这个函数变量赋值为ENABLE,表示禁止更新事件发生,并将其值存入影子寄存器),程序将不能进入中断。
所以TIM2_UpdateDisableConfig(ENABLE)实际是禁止更新事件,并非楼主说的允许更新事件。遇到不懂的函数建议查看原函数代码
RE:STM8定时器更新事件与中断有什么不同
楼上说得对RE:STM8定时器更新事件与中断有什么不同
楼主是TIM2_UpdateDisableConfig函数用错了吧,可以联机仿真,设置断点,看看相应的寄存器是不是配置正确 http://blog.csdn.net/flydream0/article/details/8208463看看这个贴子 更新事件是个中断源,而且是个可屏蔽的中断源。
当你不再屏蔽它并且打开中断允许的时候。
当更新事件发生,就会进对应中断。
页:
[1]