控制步进电机中遇到的问题

2019-08-16 21:47发布

  想要做一个控制步进电机加速减速的过程,希望通过        在中断服务函数中改变TIM3->ARR= srd.step_delay*2;TIM3->CCR1=srd.step_delay;来改变脉冲频,以改变速度。但是我发觉这个动态赋值并不能起作用,这是为什么?希望各位大神指导指导
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
正点原子
1楼-- · 2019-08-17 01:04
 精彩回答 2  元偷偷看……
我们真的很无聊
2楼-- · 2019-08-17 02:53
正点原子 发表于 2017-7-21 01:44
仿真找问题

new_step_delay = srd.step_delay - (((2 * (long)srd.step_delay) + rest)/(4 * srd.accel_count + 1));
rest = ((2 * (long)srd.step_delay)+rest)%(4 * srd.accel_count + 1);
new_step_delay = srd.min_delay;
TIM3->ARR=srd.step_delay;
我是在中断服务函数中对TIM3->ARR赋值,本来是让srd.step_delay逐渐变小进行加速,调试发现这个值,只赋值了一次,if(srd.run_state){PUL=!PUL;}仿真时发现服务函数中PUL是有变化的,但是TIM3->ARR的值不变化

一周热门 更多>