| pwm如何产生指定个数脉冲,而不占用cpu?目前我能想到的办法是:1.定时器产生一次中断,在中断函数里计数。这种方法频繁中断,影响cpu效率。并且当所产生的pwm的周期无法保持连续性,会有某一个脉冲的周期过长或者过短。2.使用dma来实现计数和周期调整。这个办法可以解决部分计数问题,但当一个周期需要多个脉冲时,会导致内存不足。同时,dma传输完成后,也是会产生中断,同样会导致脉冲周期不再连贯。所以,我在想,如果有一这么一个功能,有一个寄存器可以控制产生脉冲个数,那该有多好。当指定脉冲数发送完成后,又可以自动的发送下一组不同频率的脉冲。然后又不影响cpu的效率。 |
固定频率的话可以试试下面的方法,利用高级定时器的 重复计数器功能+ 单脉冲功能
|
stm32 定时器外部时钟1的TI1FP1及TI2FP2的设置问题
STM32F1定时器中触发信号TRC的来源及选择配置是怎么样的
STM32G474VET6如何配置HRTIM的中心对齐模式
使用CubeMx第二次生成的代码编译时报错
无刷电机PWM输出配置
STM32G474 HRTIM 推挽模式下 关闭死区 在比较寄存器较小的情况下,存在输出脉宽直接到100%
HAL_TIM_IC_Start_DMA的回调函数是HAL_TIM_IC_CaptureCpltCallback吗?为什么进不去?
STM32MP135D的TIM2使用ETR作为外部时钟时,无法使用PE15作为输入
如何利用TIM1触发HRTIM TIMA生成频率为20Hz的100ns脉冲波?
STM32G473RC timer8的CCDS bit, Capture/Compare DMA selection.
微信公众号
手机版