OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2755|回复: 5

原子哥的步进电机代码 ,比如我这时候想让他转200脉冲,但是大约几十毫秒后又想让他只转100个脉冲,原子的代码中能实现吗

[复制链接]

10

主题

22

帖子

0

精华

新手上路

积分
45
金钱
45
注册时间
2018-3-9
在线时间
28 小时
发表于 2018-6-14 16:54:44 | 显示全部楼层 |阅读模式
10金钱
原子的代码中每次计数器的值达到设定值后进入更新中断,]但是我看着RCR的值只有在更新中断时才起作用,所以如果我执行这句话后          Locate_Rle(200,500,CW);//过50ms之类的,Locate_Rle(100,500,CW);  执行这句话,是不是要等到前面的200脉冲完了后,再能执行100脉冲,而不是直接可以转到执行100脉冲的函数中。如果是这样的话,需要在程序中怎么改


我要是用步进电机控制一个动态系统的话,肯定需要实时控制步进电机,那么要是前面的脉冲必须要执行完后才能执行下一个脉冲命令,那不就没法控制了吗

5]}B5L]V_KB[QCXGRQ$9IJK.png
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

117

主题

598

帖子

1

精华

资深版主

Rank: 8Rank: 8

积分
1702
金钱
1702
注册时间
2012-5-10
在线时间
439 小时
发表于 2018-6-14 17:03:28 | 显示全部楼层
你可以中断200的,去执行100的
如有技术问题,微信扫头像交流,STM32,JAVA,服务器
回复

使用道具 举报

19

主题

246

帖子

0

精华

高级会员

Rank: 4

积分
608
金钱
608
注册时间
2017-9-21
在线时间
171 小时
发表于 2018-6-14 17:03:58 | 显示全部楼层
把剩余脉冲数改成100就好了
回复

使用道具 举报

10

主题

22

帖子

0

精华

新手上路

积分
45
金钱
45
注册时间
2018-3-9
在线时间
28 小时
 楼主| 发表于 2018-6-14 17:17:23 | 显示全部楼层
xsx127 发表于 2018-6-14 17:03
你可以中断200的,去执行100的

我是动态的调节,比如说做一个平衡车,需要实时的给数,他要是不能实时的变,那么系统就GG了不是吗
回复

使用道具 举报

10

主题

22

帖子

0

精华

新手上路

积分
45
金钱
45
注册时间
2018-3-9
在线时间
28 小时
 楼主| 发表于 2018-6-14 17:18:35 | 显示全部楼层
哆啦A萌 发表于 2018-6-14 17:03
把剩余脉冲数改成100就好了

能详细说说怎么改吗,这个TIMx_RCR寄存器的意思不知道我看没看明白,我看着RCR写入的的新值只有在更新中断时才起作用
回复

使用道具 举报

17

主题

194

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1049
金钱
1049
注册时间
2016-9-3
在线时间
158 小时
发表于 2018-6-15 09:11:51 | 显示全部楼层
这个是可以的吧,中断的本意就是停止正在做的事,然后去做另一件事。当你在执行200脉冲过程中,你计时几十毫秒,时间到了自然就中断了,不管你那200执行完没有,但是,中断去执行完100后,又会返回来继续执行200.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-11 15:36

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表