码迷,mamicode.com
首页 > 其他好文 > 详细

基于STM32F030F4P9和STM32 CUBEMX 输出PWM波形

时间:2020-04-05 13:33:47      阅读:125      评论:0      收藏:0      [点我收藏+]

标签:eset   state   功能   nbsp   记录   strong   定时   计数器   info   

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波形

标签:eset   state   功能   nbsp   记录   strong   定时   计数器   info   

原文地址:https://www.cnblogs.com/BlogsOfLei/p/12636590.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!