
首先打开STM32CubeMX,选择NUCLEO-STM32C031板子创建工程。 然后选择TIM3外设,使能PWM输出模式。对应4路PWM引脚:PA6,PA7,PB0,PB1。 这里选择系统时钟48MHz。 下面配置PWM初始化参数: 首先是PWM的频率设置:PSC填0,AutoReload Reg填96,即PWM频率为500KHz。意思是在48MHz频率下,计数96个时钟脉冲为周期。就可以得到PWM的频率为500KHz。 接着是4路PWM的占空比:Pulse Reg取值范围为0-96,代表PWM占空比0%-100%。超过96取值,PWM占空比皆为100%,即高电平。为0时占空比为0%,即一直低电平。 PWM-CH1取值24即默认25%占空比。其他通道类是。 4个IO管脚设置输出速率为最高。 下面设置3路PWM的dma控制。DMA选择Normal模式,内存到外设,以字节宽度传输。因为数据最大只需要到96即可实现0-100%占空比。所以单字节传输就够了。 到这里就可以生成代码工程了。 下面简单测试一下PWM输出是否正常。添加启动定时器PWM。通过逻辑分析仪查看PWM波形。 4个PWM引脚如下位置:PA6,PA7,PB0,PB1. 编译下载后就可以看到4组PWM波形了。 |
有奖直播 | 超性价比入门级MCU:STM32C0全新子产品线深度解读
【STM32C0测评】Nucleo-C092开发板驱动DS1302实验
【NUCLEO-STM32U385RG开发板测评】03 与PC实现shell的交互
【STM32峰会观看直播获奖】晒奖品
STM32C071RB外部中断控制小灯点亮熄灭
STM32C071RB实现串口收发功能
【STM32C071RBT6测评】——PWM输出测试:实现一个呼吸灯
NUCLEO-C071RB评测7_UART不定长数据收发的再测试
【STM32C0评测】C071:USB的使用
【STM32C0评测】C071:IIC的使用