TIM3定时器的ARR寄存器在中断里面修改不成功

2019-07-25 11:21发布

          TIM3->CR1 &= ~(TIM_CR1_CEN);
        TIM3->CNT = 0;
        TIM3->ARR = 3000 - 1;
        TIM3->CR1 |= TIM_CR1_CEN;



有的时候能改写成功,有的时候不行
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
aiyeba
1楼-- · 2019-07-25 14:16
loliko 发表于 2017-11-15 08:50
嗯,我之前做的一个项目也是这样没问题,现在另一个项目也是这样,就偶尔写不进去

解铃还须系铃人。  中断频率因arr而生,你却在中断里面修改它。   

你要实现什么?
正点原子
2楼-- · 2019-07-25 18:24
看代码没毛病哦
loliko
3楼-- · 2019-07-25 21:23
正点原子 发表于 2017-11-14 20:20
看代码没毛病哦

嗯,我之前做的一个项目也是这样没问题,现在另一个项目也是这样,就偶尔写不进去
l6931639
4楼-- · 2019-07-25 22:59
是不是那个auto reload preload没有打开啊
loliko
5楼-- · 2019-07-26 00:18
 精彩回答 2  元偷偷看……
l6931639
6楼-- · 2019-07-26 00:41
loliko 发表于 2017-11-15 18:24
有道理,我在while循环里面改就好了

我做步进电机驱动是在中断里修改的,没什么问题啊

一周热门 更多>