PWM发脉冲,怎么精确控制发脉冲的个数呢?

2019-07-21 09:01发布

STM32的PWM发送脉冲,周期和脉宽都可调了,但是现在不知道如何精确的控制所发的脉冲个数。
具体要求就是在一段时间内大概50ms内发送5000-1W个脉冲  个数要很精确,误差2个以内可以接受
该怎么控制呢?
1.接上一个外部中断口,在中断中计数
2.用一个定时器 对发脉冲的时间进行控制

各位大侠还有什么好的办法吗?求解啊!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
49条回答
xmjacky
1楼-- · 2019-07-26 20:00
记号学习了
dreamARM
2楼-- · 2019-07-27 00:16
正点原子 发表于 2014-12-16 16:12
PWM溢出中断计数,是个不错的解决办法。

用定时器能做脉冲个数驱动电机吗?
dreamARM
3楼-- · 2019-07-27 03:07
qq942266575 发表于 2015-11-5 09:33
原子说得都对,使用pwm溢出中断。

PWM溢出中断和定时器中断不是一个吧? 用定时器是不是也能计算脉冲个数
jpaekeo
4楼-- · 2019-07-27 06:30
 精彩回答 2  元偷偷看……
jpaekeo
5楼-- · 2019-07-27 10:52
本帖最后由 jpaekeo 于 2016-12-7 03:23 编辑

请问楼主你的程序是不是只是用time1的cc1产生频率独立且脉冲个数独立的方波呢?用哪路timer作为pwm输出就只需设置哪路gpio
Jerry_9527
6楼-- · 2019-07-27 11:18
本帖最后由 Jerry_9527 于 2016-12-22 10:11 编辑
jpaekeo 发表于 2016-12-7 01:50
我现在想要输出三路不同频率且各自输出精确的脉冲个数。这个如果用主从模式输出可控个数最少需要几个定时 ...

你先把相同频率,脉冲个数;弄明白,之后自然有取舍。如果需要不同频率,理论需要4个定时器就可以了。但如果脉冲数也同时不同,那就得需要6个定时器;而且不是所有定时器都能胜任~

一周热门 更多>