最近看了一点资料,发现在驱动伺服或步进电机的时候,都需要用精确的PWM脉冲数。并且PWM的频率都还挺高,一般100kHz,还可能是多路同时工作,比如驱动4个伺服。
大体看到有两种做法可以实现精确的脉冲数:
1,外部再弄个IO口接到PWM脚上,用外部中断的办法,单独来计数。此办法可行,但非常不科学,并且浪费资源。
2,使用定时器,使用一个和PWM频率一致的定时器,使用定时器中断来计数。此方法比第一种办法好了很多,但是仍然感觉比较笨。
STM32的定时器寄存器中有一个重复次数寄存器RCR。 这个寄存器在定时器中可以使用,我想,如果这个重复次数能不能做到PWM的重复次数计数?
请问大家,这个能实现吗?
或者有不用每个脉冲中断一次的办法实现PWM的精确计数吗?
发出的PWM脉冲数是准确的。而不仅仅是频率或占空比。
一周热门 更多>