|
最近在使用PWM+DMA的方式控制灯珠,一开始直接用MCU的输出引脚控制没有发现这个问题,因为起始信号都是低电平。后来使用了MOS管接到MCU的控制端,让MOS管来输出控制灯珠。这样一来所有的电平就必须反过来,灯珠的起始信号就由低变成了高。但在调试的过程中发现一个问题:
我的第一组数据明明发送了八个周期的PWM信号,但是示波器之抓到了7个,询问大佬才知道PWM的DMA第一个非全高或者全低的PWM周期会被溢出中断吞掉,属于是芯片的设计问题了。但是一般这种问题GD32的芯片才有,我得STM32F407不知道为啥也有。 |
向 “HAL_RTC_GetTime” 函数传递的第一个参数出现指针类型不兼容警告
无法从编码器模式下的 TIM1 获取计数值
定时器输出PWM控制电机的问题
请问一下STM32F103C8T6的Hardwar NSS Output ENABLE后cs持续拉低是为什么
STM32U575的LPTIM中断问题
STM32G0B1
TIM11,TIM13失效
为什么DMA搬运数据只搬运最后1个字节的数?
STM32 用主从定时器方式实现DSP QEP模块的QCTMR功能,异常
为什么STM32H7的DMA第一次启动延时较长?
微信公众号
手机版
PWM+DMA求助
那个帖子大佬指出选取更新点的重要性,因为DMA响应是要花一点时间的,所以更新点选取要考虑定时器速度是否匹配。 这也是为什么定时器会有预装载和更新事件的功能,就是为了准确脉宽调整用的。
通过DMA 实现PWM 的方式有很多经验,网站上也有实战经验分享可以参考。
注意下载下来才能看到全部内容,预览内存空间有限。
LAT0053 STM32L053可控PWM脉冲方法之DMA | STMCU中文官网
谢谢大佬指点!