基于STM32F030F4P9和STM32 CUBEMX 输出PWM波形

Posted blogsoflei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于STM32F030F4P9和STM32 CUBEMX 输出PWM波形相关的知识,希望对你有一定的参考价值。

STM32F030F4P9定时器功能比较丰富,在此记录项目中使用其自动输出PWM波形(频率:50HZ)。CubeMX配置定时器如下图说明。

技术图片

 

技术图片

在此定时器基础时钟为48MHZ,配置中不做分频处理,预分频系数为48,定时器计数器寄存器为20000,可求得周期为:

        T = ( ( 1 / (48Mhz / 48) ) * 20000) = 20ms

在PWM输出配置选项中,改变Pulse可改变PWM的占空比。CH Polarity配置当计数器中的值小于Pulse时,输出高电平,

CH Idle State配置PWM输出空闲时的状态,此处Reset为低电平状态。

在程序中如果要动态改变PWM的占空比,只需改变Pulse值,但在cubeMX自动生成的库中暂时没有找到相关函数,
查手册可知,通过改变CCRx寄存器可改变PWM的Pulse值,此处使用第三通道,所以可以改变定时器寄存器CCR3,

从而改变PWM的占空比,注意:CCR3寄存器值会在定时器发生更新时间时(注意配置中需要开启自动重装载寄存器使能位),

才会生效。例如改变占空比为800us/20ms:

        htim1.CCR3 = 800;   //占空比为 800us/20ms

以上是关于基于STM32F030F4P9和STM32 CUBEMX 输出PWM波形的主要内容,如果未能解决你的问题,请参考以下文章

STM32F030F4P6 仅在从闪存启动时运行中断处理程序。从引导加载程序启动时重置

STM32F030F4P6这个单片机怎么样?

STM32F030F4P6这个单片机怎么样?

stm32F030F4P6的芯片 串口通信不成功代码在图里

使用STM32F030F4P6的SPI协议和NRF24L01模块进行通讯 实现无线数据的收发

STM32F030系列实现仿位带操作