STM32
直播中

陆军航空兵

8年用户 811经验值
私信 关注
[问答]

STM32F051C8 PA0不能以DMA的方式输出PWM,没有正确波形输出是哪里出了问题?

实现功能:用STM32F051C8的PA0驱动WS2812B 彩色LED灯条;
实现方法和工具:1.使用Cubemx 生成代码;2.配置PA0,PA0为PWM输出;
配置方式:打开Cubemx软件,新建工程,选择型号STM32F051C8;
选择内部时钟,配置时钟为48Mhz,

配置tiM2 CH1为DMA PWM输出;



生成代码后,加入WS2812b的应用代码;在main函数里增加启动timer2 PWM,用示波器检测不到输出的波形;
使用STM32F030C8 ,同样的配置和WS2812B的应用代码,更换为PA6(对应的timer3,channel1)能够正常输出波形,并且能够点亮彩色LED灯条。


回帖(1)

李振云

2024-3-13 14:33:01
我这边确认了下,你的配置方面似乎也没啥问题。 你是在通过DMA不停改变占空比来改变亮度吧。
会不会是硬件方面的原因呢,比方被外围电路钳位了。另外,STM32F051 TIM2 CH1的复用脚 还可以
选择PA5或PA15,比方你换成PA5看看,先通过示波器看看有无变化的波形输出。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分