OpenEdv-开源电子网

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

STM32 com事件问题

[复制链接]

10

主题

40

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
346
金钱
346
注册时间
2013-12-20
在线时间
94 小时
发表于 2016-9-3 15:25:04 | 显示全部楼层 |阅读模式
10金钱
采用STM32f0的驱动无刷电机,想利用COM事件同时切换6个通道
我这里抓了CH1 和 CH2的波形,实际测试下来要在下一个PWM开始的时候才生效
QQ图片20160903151435.png

如上图所示,按照STM32的手册,启用了COM事件应该是立即生效啊,就是图中画的那个部分,现在验证下来就是少了画的哪个部分。

我在TIM1初始化的时候已经启用了
TIM_CCPreloadControl(TIM1, ENABLE);

然后在换相子程序后触发COM
pwm_scheme_Pwm_On(Motor.PhaseState);   //这里是6步换相的子程序
TIM_GenerateEvent(TIM1, TIM_EventSource_COM);   //这里是启用com事件


另外测试了其他两个方法
1、我换相后不触发com,测试下来,波形一直不变,验证了加了com事件应该是起作用了
2、开com的中断,测试下来,效果一样

有碰到类似的朋友帮我看看吧,实在没招了,上来请教下大家,不胜感激。

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2016-9-3 20:09:26 | 显示全部楼层
回复

使用道具 举报

1

主题

6

帖子

0

精华

初级会员

Rank: 2

积分
50
金钱
50
注册时间
2016-11-6
在线时间
12 小时
发表于 2018-3-27 16:57:32 | 显示全部楼层
我用的高级定时器产生PWM波,依靠边沿信号改变检测霍尔值,那么HALL也必须用高级定时器才能触发COM事件吗?还是可以用普通定时器?还是不需要定时器普通IO口就可以?可以请教您一下吗?
回复

使用道具 举报

10

主题

196

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
390
金钱
390
注册时间
2018-3-20
在线时间
80 小时
发表于 2018-3-27 17:35:49 | 显示全部楼层
把预加载或者影子计数器 取消掉,这样更新事件就是立即生效而不是等到下一个匹配才更新
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-8 16:42

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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