
pwm如何产生指定个数脉冲,而不占用cpu?目前我能想到的办法是:1.定时器产生一次中断,在中断函数里计数。这种方法频繁中断,影响cpu效率。并且当所产生的pwm的周期无法保持连续性,会有某一个脉冲的周期过长或者过短。2.使用dma来实现计数和周期调整。这个办法可以解决部分计数问题,但当一个周期需要多个脉冲时,会导致内存不足。同时,dma传输完成后,也是会产生中断,同样会导致脉冲周期不再连贯。所以,我在想,如果有一这么一个功能,有一个寄存器可以控制产生脉冲个数,那该有多好。当指定脉冲数发送完成后,又可以自动的发送下一组不同频率的脉冲。然后又不影响cpu的效率。 |
固定频率的话可以试试下面的方法,利用高级定时器的 重复计数器功能+ 单脉冲功能![]() ![]() |
定时器使用DMA突发传输功能时,传入指针从常量数组改为变量数组后,传输功能异常。测试官方用例一样,是何原因?
STM32MP135D的TIM2使用ETR作为外部时钟时,无法使用PE15作为输入
分享一个PWM+DMA的BUG
STM32的TIM触发SPI的DMA发送使用NSS时MSSI的问题
使用STM32捕获PWM时同时捕获2个通道时会出现捕获的频率值不准确的问题
HRTIM 变频控制输出的第一个周期频率异常
PWM+DMA求助
怎么在不用中断的情况下,测量霍尔编码器的数据
STM32G070RET6,中断优先级配置没有效果
STM32G474 利用高精度HRTIM怎么捕获外部波形计算波形频率,想用STM32Cube配置工程代码,网上查了很多资料,没有看到这个用法。希望大神指导一下。