TIM3->PSC ,预分频值能任意修改为任意值吗?能动态修改吗?用于步进电机调速

2019-07-21 02:01发布

想做步进电机调速,我采用动态修改TIM3的预分频值PSC,但是不能工作
TIM3->SC ,预分频值能任意修改为任意值吗?能动态修改吗? 我动态修改这个值发现定时器不能正常工作 我想在where循环里,根据事件来动态修改分频值,但是无效,我并不想动态修改重装值 TIM3->ARR,因为这种调速的方法变化幅度太大,比如ARR为1时和ARR为2时步进电机速度变化1倍,这种变化太剧烈,不够线性平滑
  我的代码如下:     TIM3->ARR = 1;//重装值     TIM3->SC=value;//value是71-7100之间的连续值,有可能是82,95,103.。。。。。
    TIM3->CR1 |= 0x81;//启动定时器
但是我发现这样做定时器不能工作,不知道为什么?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
xuande
1楼-- · 2019-07-21 02:04
 精彩回答 2  元偷偷看……
龙之谷
2楼-- · 2019-07-21 07:47



PSC能不能直接修改还没有测试过,但是通过上式可以发现arr和psc是同等地位,两者在可改动范围效果应该是一样的
sfraim
3楼-- · 2019-07-21 12:53
回复【2楼】龙之谷:
---------------------------------
不太明白,我是在定时器中断里对步进电机进行推动的
你的Tout是指什么意思呢?
sfraim
4楼-- · 2019-07-21 13:15
 精彩回答 2  元偷偷看……
龙之谷
5楼-- · 2019-07-21 14:06
回复【3楼】sfraim:
---------------------------------
1.关于是否能够修改TIM3->SC,4楼解疑老师已经说明
2.我对这块也经常迷糊,在此探讨一下。我的出发点是不赞同你说的  动态修改TIM3->ARR变化幅度大,在我看来修改两者都是可以的。不清楚你在中断里是怎么进行步进电机推动的
sfraim
6楼-- · 2019-07-21 19:03
回复【6楼】龙之谷:
---------------------------------
我也正在研究,修改ARR时输出的频率在高频段变化幅度太大

一周热门 更多>