你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

比较输出脉冲数不准

[复制链接]
maibb 提问时间:2013-9-16 15:00 /
各位师傅,我在做步进电机输出脉冲时采用的比较翻转输出,停止是用TIM_Cmd(TIM2,DISABLE);指令,但是发现执行停止计数函数以后约0.5秒的时间内还是有脉冲输出,造成停止位不准确,不知道是什么原因,我看了这个函数就是直接操作TIMx->CR1 &= (uint16_t)(~((uint16_t)TIM_CR1_CEN));
我试了直接操作但还是有延时输出的问题,不知道各位碰到过没有,是如何解决的,谢谢。
收藏 评论8 发布时间:2013-9-16 15:00

举报

8个回答
回答时间:2013-9-16 19:10:59

RE:比较输出脉冲数不准

控制步进电机就直接用IO操作吧,容易控制脉冲个数
feiante-155820 回答时间:2013-9-16 20:08:31

RE:比较输出脉冲数不准

指令执行是需要时间周期的,在还没有执行完指令的时候,是会输出脉冲的。
我觉得可以适当修改下定时器计数值,使脉冲符合要求就可以了
温柔的武士刀 回答时间:2013-9-16 21:28:13

RE:比较输出脉冲数不准

楼主定时时间是不是太长了,定时太长了容易出现误差。
尉缭1 回答时间:2013-9-16 21:30:00

RE:比较输出脉冲数不准

库函数的时延应该不会那么大,应该不是库函数的原因,找找其他原因
maibb 回答时间:2013-9-17 08:40:04

RE:比较输出脉冲数不准

谢谢楼上的回答,但感觉延时太长了,按手册停止使能后应该是一个计数周期后就会停,但我这明显感觉有0.5秒以上还有脉冲输出,造成停止位置不准。
dennywang 回答时间:2013-9-17 08:42:07

RE:比较输出脉冲数不准

建议你将程序仔细看看,然后单步调试,可能是你的调试手段有问题。如果不行就使用逻辑分析仪来数数脉冲数量,是否符合你的设计。问题的最大可能原因是你的设计由问题。另外你可以考虑通过停止定时器的方式来看看,而不是停止比较。
maibb 回答时间:2013-9-17 09:15:46

RE:比较输出脉冲数不准

我用比较翻转主要是不占用片上的资源,这个问题比较怪。
dzc2001 回答时间:2013-9-17 12:08:27

回复:比较输出脉冲数不准

 要求高的必须用逻辑分析仪自己校准一下,毕竟程序执行也是需要占用周期的。

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版