HAL库生成PWM波且占可比可调

这里我的任务即生成一个100HZ的PWM,且占空比可调,通过按键PC13 PIN。

外部输入8MHz的晶振,使用tim3的时钟,将其总线时钟设置成80MHz,即其时钟树配置成80MHz。时钟树配置自行百度,资料有很多。我使用的是官方核心板如图所示。

打开cubmx软件,选择tim3,相关配置如图所示。生成pwm频率Fre=tim总线时钟/预分配数*计数器数

 图  cubmx配置界面

 生成MDK文件。

 在main.c中该软件自动帮你生成定时器3初始化函数,下图为函数声明,初始化在main函数中

stm32l4xx_hal_tim.h库中找到相应的hal库函数来初始化pwm。

并编写按键检测程序,按键按下则占空比增加10%,初始占空比为0,满占空比为1000。__HAL_TIM_SET_COMPARE该函数也在stm32l4xx_hal_tim.h库中。 

下载到板卡上,对其进行测试并通过逻辑分析仪来观察其占空比变化。逻辑分析仪的使用方法链接:https://blog.csdn.net/qq_16519885/article/details/112463509

按一下按键,测得10%占空比 ;当再按了两下后,占空比为30%。频率都为100Hz。

 

 

物联沃分享整理
物联沃-IOTWORD物联网 » HAL库生成PWM波且占可比可调

发表评论