
首先打开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波形了。 |
拷打cubemx【002】——自定义还需基于芯片的工程
【新品发布】STM32C0 三大子产品线齐发,精准适配价格敏感应用(文末有奖)
STM32电路知识学习
STM32C031芯片串口的Modbus特性
NUCLEO-C031C6开发板测试7——硬件SPI驱动TFT彩屏显示
NUCLEO-C031C6开发板测试6——驱动TFT彩屏显示
NUCLEO-C031C6开发板测试4——串口通讯测试
NUCLEO-C031C6开发板测试4——I2C驱动日历时钟芯片
STM32C09x和STM32C051:工业应用性价比优化的关键选择
基于定时器捕获测量脉宽的应用示例