STM32使用IM3和TIM4分别输出PWM波形
一、用STM32CubeMx创建工程
1.创建新项目
点击ACCESS TO MCU SELECTOR,选择STM32F103C8。
2.配置RCC和SYS
3.配置定时器TIM3
4.配置定时器TIM4
5.配置时钟
点击CLOCK CONFIGURATION,然后将HCLK改为72Mhz,点击回车
6.生成项目
二、使用keli编写代码
1.定义变量
在main.c中定义一个全局变量
uint16_t pwm=0; //占空比
2.打开PWM通道
在主函数中添加两行代码
HAL_TIM_PWM_Start(&htim3,TIM_CHANNEL_1);
HAL_TIM_PWM_Start(&htim4,TIM_CHANNEL_1);
3.在while循环中写入调用代码
while (pwm< 500)
{
pwm++;
__HAL_TIM_SetCompare(&htim3, TIM_CHANNEL_1, pwm);
__HAL_TIM_SetCompare(&htim4, TIM_CHANNEL_1, pwm);
HAL_Delay(1);
}
while (pwm)
{
pwm--;
__HAL_TIM_SetCompare(&htim3, TIM_CHANNEL_1, pwm);
__HAL_TIM_SetCompare(&htim4, TIM_CHANNEL_1, pwm);
HAL_Delay(1);
}
HAL_Delay(200);
三、硬件连接
LED灯连接
LED灯短脚 —> A6
LED灯长脚 —> 3V3
PB6 —> PC13
四、烧录以及效果
使用FLYICU进行烧录
PWM呼吸灯
五、总结
这次实验,我了解了PWM的基本原理,学会了使用PWM来控制TIM3,TIM4来实现呼吸灯。