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

STM32的定时器,在改变了它的比较寄存器后,比较中断是立即发生还是要等下一次才发生?  关闭

[复制链接]
ssrwork 提问时间:2008-12-24 10:50 /
Temp16 = TIM_GetCapture3(TIM4);
TIM_SetCompare3(TIM4, Temp16 + 14000);
是这样给比较器赋值的,如果是在CC3的中断里赋的值,是没有问题的.在中断里反转一个引脚可以得到周期的波形.但是如果在另外一个中断里(外部中断)用上面的方法对CC3比较赋值,赋完后的第一次中断不是想要的那个时间.
比如说CC3本来定时是10ms,在它中断后4ms,我在外部中断又对比较器赋5ms的值,理论上CC3应该在5ms后中断.但是实际测出来是在15ms后中断.
为什么?是我操作的问题么?
收藏 评论7 发布时间:2008-12-24 10:50

举报

7个回答
萧星-96138 回答时间:2008-12-24 11:15:51

RE:STM32的定时器,在改变了它的比较寄存器后,比较中断是立即发生还是要等下一次才发生?

是这样的  在定时器里  有预装入和非预装入区别,楼主的的应该是在预装入下改变比较值的,这样就出现了你的情况,要下一次硬件自动装入,请问你的后面几次是按照你的时间中断吗?其实这样是有好处的
ssrwork 回答时间:2008-12-24 11:38:24

RE:STM32的定时器,在改变了它的比较寄存器后,比较中断是立即发生还是要等下一次才发生?

我看了预装入这个,但是我也没有设置成预装入啊.
预装入可能有好处,但是我的应用如果有这个就不行了.
在外部中断改值后第一次不能得到想要的时间,后面如果没有外部中断,则还是按10ms中断.
ssrwork 回答时间:2008-12-24 11:53:58

RE:STM32的定时器,在改变了它的比较寄存器后,比较中断是立即发生还是要等下一次才发生?

预装入默认是打开还是关的?我没有设置是不是没有用到?
TIM_OC1PreloadConfig(TIM4, TIM_OCPreload_Enable);
要用这个才开吧?我没用.
ssrwork 回答时间:2008-12-24 13:34:33

RE:STM32的定时器,在改变了它的比较寄存器后,比较中断是立即发生还是要等下一次才发生?

我在CC3的中断里重置,结果就对.像下面这样,测试是一长一短连续输出波形,高的长,低的时候短.和程序是对得上的.但是在外部中断中重置CC3的比较值就得不到正确的结果.
if(TIM_GetITStatus(TIM4, TIM_IT_CC3) != RESET)
        {
            Temp16 = TIM_GetCapture3(TIM4);
            TIM_ClearITPendingBit(TIM4, TIM_IT_CC3);
            GPIO_WriteBit(LED, (BitAction)(1 - GPIO_ReadOutputDataBit(LED)));
                if(GPIO_ReadOutputDataBit(LED))
                {
                    TIM_SetCompare3(TIM4, Temp16 + 13980);
                }
                else
                {
                    TIM_SetCompare3(TIM4, Temp16 + 7000);
                }
        }
ssrwork 回答时间:2008-12-24 15:05:43

RE:STM32的定时器,在改变了它的比较寄存器后,比较中断是立即发生还是要等下一次才发生?

能回答一下我的问题么?
萧星-96138 回答时间:2008-12-24 17:07:51

RE:STM32的定时器,在改变了它的比较寄存器后,比较中断是立即发生还是要等下一次才发生?

你说过寄存器的值是改变了  还是不行的话  真奇怪了   能否吧  工程粘上来  调试一下
ailibuli 回答时间:2011-8-3 02:39:15

RE:STM32的定时器,在改变了它的比较寄存器后,比较中断是立即发生还是要等下一次才发生?

TIMx_CCRx寄存器能够在任何时候通过软件进行更新以控制输出波形,条件是未使用预装载寄存器(OCxPE=’0’,否则TIMx_CCRx影子寄存器只能在下一次更新事件发生时被更新)。

所属标签

相似问题

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