
首先打开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波形了。 |
【STM32C0评测】Rt-thread nano 添加PIN驱动
【STM32C0评测】STM32C092 适配运行RT-thread
【STM32C0评测】sleep,standby,stop,run四种状态功耗检测
【STM32C0评测】低功耗状态电流测试
【STM32C0评测】自适应波特率UART回环
【STM32C0评测】GPIO控制PWM呼吸灯
【STM32C0评测】NUCLEO-C092RC简要开箱测评——标准而立异的新一代低成本微控制器
【STM32C0评测】基于I2C驱动温度传感器
【STM32C0评测】使用ThreadX创建RTOS线程
【STM32C0评测】基于模拟SPI驱动1.8寸tft屏