
首先打开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波形了。 |
经验分享 | STM32U5系列TIMER+DMA+DAC应用演示
经验分享 | STM32G4 UART+TIMER+DMA应用示例
经验分享 | STM32定时器同步启动示例及应用提醒
兔哥的ST67——【000】ST67模组订购
经验分享 | STM32 TIMER+DMA输出PWM异常二案例
经验分享 | 更改STM32定时器周期后的输出疑问分析
兔哥的BLE【002】-WB09最小系统板PCB设计
兔哥的BLE【001】-WB09最小系统板原理图绘制
兔哥的L4【001】——32脚的小板
【新品发布】STM32C0 三大子产品线齐发,精准适配价格敏感应用(文末有奖)