STM8S TIM2 更改重装载计数器后,程序跑飞

2019-07-19 21:41发布

原子哥,求助

今天写了一个程序 ,用TIM2 实现输出可改变频率和占空比的PWM波
 
在用示波器观看波形时,发现其中有一个频率会周期性的出现16.5ms的高电平。分析原因,应该是在改变ARR寄存器时,新的ARR的值小于当时CNTR的值 


这个就有点儿难理解了,在手册里也没有找到相关说明

定时器在工作时,怎么判定溢出 的??

当CNTR>ARR时,为何不会立即更新,而是要计数到65535???(ARR值不经过影子寄存器立即传输时,会有上述现象;当置位ARPE后,波形就正常了)
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
正点原子
1楼-- · 2019-07-20 00:00
 精彩回答 2  元偷偷看……
Angao
2楼-- · 2019-07-20 00:29
 精彩回答 2  元偷偷看……
正点原子
3楼-- · 2019-07-20 04:07
回复【3楼】Angao:
---------------------------------
你试试。
Angao
4楼-- · 2019-07-20 09:21
回复【4楼】正点原子:
---------------------------------
开启预装载功能之后,就正常了。我现在想知道的是,计数器内部的CNTR和ARR之间是怎样的关系,在这种情况下,CNTR已经在于ARR了,为啥没有产生更新事件,计数器为啥没有清零,从零开始计数

一周热门 更多>