1、PWM简介
PWM波形(Pulse Width Modulation,脉冲宽度调制波形)是一种占空比可变的脉冲波形。这种调制方式 通过改变脉冲的宽度来控制电路中的信号强度和频率。具体来说,PWM波形中的高电平持续时间和低电平持 续时间可以根据需要进行调整,从而实现对模拟信号电平的数字编码。
2、重要的三个参数:
频率 =1/Ts
分辨率 = 占空比变化步距
占空比 = Ton/Ts
3、输出模式
PWM有两种输出模式:
1、PWM1:
2、PWM2:
4、PWM的配置步骤
(1)时基工作参数配置
使用HAL_TIM_PWM_Init();这个函数需要一个结构体变量,这个结构体变量在其他函数中也会使用到,所以我们需要定义一个全局的变量。
主要初始化的成员变量有Instance、Init(Prescaler、Period、CounterMode、AutoReloadPreload)
(2)msp初始化
使用HAL_TIM_PWM_MspInit();
使用步骤:
1、判断是否是相对应的定时器
2、初始化中断
HAL_NVIC_SetPriority();
HAL_NVIC_EnableIRQ();
3、初始化需要输出的GPIO口
Note:第2步和第3步都是在HAL_TIM_PWM_MspInit();这个函数里面的。
(3)PWM模式,CCR寄存器设置
使用HAL_TIM_PWM_ConfigChannel();其中第二个参数需要重新定义一个结构体,第三个参数需要参考芯片手册去找所需要用到的定时器其对应的通道。
Note:这一步的函数直接卸载时基工作参数配置里面。
(4)使能输出,启动计数器
使用HAL_TIM_PWM_Start();
Note:同样写在时基工作参数配置里面。
(5)修改CCR寄存器值
需要单独写一个函数,注意需要传入参数,函数里面写__HAL_TIM_SET_COMPARE();这个函数即可。
5、调用
PWM的输出其本质就是一个方波的输出,想要使用它就需要用到for循环,不断地改变波形,也就是占空比,所以想要使用PWM就使用for循环不断的调用修改CCR寄存器值的函数,就可以达到自己想要的目的。
标签:HAL,函数,配置,TIM,参数,STM32f103c8t6,占空比,PWM From: https://blog.csdn.net/ljhlovezyx/article/details/142784230