STM32_HAL库—PWM输出

(一)CubeMX设置:

1. 晶振配置(72M)STM32_HAL库—PWM输出_第1张图片

2. 引脚配置

STM32_HAL库—PWM输出_第2张图片

3. 配置及实现方式

(1)呼吸灯逐渐点亮控制

STM32_HAL库—PWM输出_第3张图片
由上推出公式:

	机器周期: (72MHz / 36) = 2MHz = 0.5us

	PWM周期: 0.5 * 100 = 50us = 20kHz

呼吸灯逐渐点亮代码实现:

//开启PWM输出
HAL_TIM_PWM_Start(&htim2, TIM_CHANNEL_1);
//设置默认的占空比值
__HAL_TIM_SET_COMPARE(&htim2, TIM_CHANNEL_1, 50-1);

while(1) {

	HAL_Delay(30);//延时30ms
 
	//变量修改
	if(i > 100)  i = 0;
 
	//设置占空比值
	__HAL_TIM_SET_COMPARE(&htim2, TIM_CHANNEL_1,  i++);
}
(2)LED灯1秒亮灭控制

STM32_HAL库—PWM输出_第4张图片
由上推出公式:

	机器周期: (72MHz / 7200) = 10kHz = 100us

	PWM周期: 100 * 10000 = 1s = 1Hz

LED灯1秒亮灭控制代码实现:

//开启PWM输出
HAL_TIM_PWM_Start(&htim2, TIM_CHANNEL_1);
//设置默认的占空比值
__HAL_TIM_SET_COMPARE(&htim2, TIM_CHANNEL_1, 5000-1);

while(1) {

	HAL_Delay(30);//延时30ms
 
	//变量修改
	if(i > 10000)  i = 0;
 
	//设置占空比值
	__HAL_TIM_SET_COMPARE(&htim2, TIM_CHANNEL_1,  i++);
}

你可能感兴趣的:(GD32单片机,STM32,stm32,单片机,arm)