搜索
查看: 5247|回复: 8

[已解决] 比较输出脉冲数不准

[复制链接]

该用户从未签到

1

主题

6

帖子

0

蝴蝶豆

新手上路

最后登录
1970-1-1
发表于 2013-9-16 15:00:30 | 显示全部楼层 |阅读模式
各位师傅,我在做步进电机输出脉冲时采用的比较翻转输出,停止是用TIM_Cmd(TIM2,DISABLE);指令,但是发现执行停止计数函数以后约0.5秒的时间内还是有脉冲输出,造成停止位不准确,不知道是什么原因,我看了这个函数就是直接操作TIMx->CR1 &= (uint16_t)(~((uint16_t)TIM_CR1_CEN));
我试了直接操作但还是有延时输出的问题,不知道各位碰到过没有,是如何解决的,谢谢。
回复

使用道具 举报

该用户从未签到

3

主题

164

帖子

0

蝴蝶豆

新手上路

最后登录
1970-1-1
发表于 2013-9-16 19:10:59 | 显示全部楼层

RE:比较输出脉冲数不准

控制步进电机就直接用IO操作吧,容易控制脉冲个数
回复 支持 反对

使用道具 举报

该用户从未签到

24

主题

580

帖子

2

蝴蝶豆

高级会员

最后登录
2021-1-7
发表于 2013-9-16 20:08:31 | 显示全部楼层

RE:比较输出脉冲数不准

指令执行是需要时间周期的,在还没有执行完指令的时候,是会输出脉冲的。
我觉得可以适当修改下定时器计数值,使脉冲符合要求就可以了
回复 支持 反对

使用道具 举报

该用户从未签到

4

主题

71

帖子

0

蝴蝶豆

初级会员

最后登录
2019-11-26
发表于 2013-9-16 21:28:13 | 显示全部楼层

RE:比较输出脉冲数不准

楼主定时时间是不是太长了,定时太长了容易出现误差。
回复 支持 反对

使用道具 举报

该用户从未签到

5

主题

21

帖子

0

蝴蝶豆

初级会员

最后登录
1970-1-1
发表于 2013-9-16 21:30:00 | 显示全部楼层

RE:比较输出脉冲数不准

库函数的时延应该不会那么大,应该不是库函数的原因,找找其他原因
回复 支持 反对

使用道具 举报

该用户从未签到

1

主题

6

帖子

0

蝴蝶豆

新手上路

最后登录
1970-1-1
 楼主| 发表于 2013-9-17 08:40:04 | 显示全部楼层

RE:比较输出脉冲数不准

谢谢楼上的回答,但感觉延时太长了,按手册停止使能后应该是一个计数周期后就会停,但我这明显感觉有0.5秒以上还有脉冲输出,造成停止位置不准。
回复 支持 反对

使用道具 举报

该用户从未签到

0

主题

29

帖子

0

蝴蝶豆

新手上路

最后登录
2020-1-10
发表于 2013-9-17 08:42:07 | 显示全部楼层

RE:比较输出脉冲数不准

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

使用道具 举报

该用户从未签到

1

主题

6

帖子

0

蝴蝶豆

新手上路

最后登录
1970-1-1
 楼主| 发表于 2013-9-17 09:15:46 | 显示全部楼层

RE:比较输出脉冲数不准

我用比较翻转主要是不占用片上的资源,这个问题比较怪。
回复 支持 反对

使用道具 举报

该用户从未签到

5

主题

308

帖子

0

蝴蝶豆

金牌会员

最后登录
1970-1-1
发表于 2013-9-17 12:08:27 | 显示全部楼层

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

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

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|论坛-意法半导体STM32/STM8技术社区

GMT+8, 2024-5-8 04:50 , Processed in 1.196011 second(s), 37 queries .

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

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