在学习了定时器的中断,接下来我们继续配置定时器的另外一个重要功能——输出PWM波
脉冲宽度调制(PWM),是英文“Pulse Width Modulation”的缩写,简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。简单一点,就是对脉冲宽度的控制。
1、根据库函数本实验是以定时器14的CH1为例,在功能选择区选择TIM14(对应引脚为PF9,即可观察LED的亮度检测实验)。 2、根据库函数定义,配置如下 3、对复用引脚进行配置
RCC时钟配置如前文一样(此处一般情况是不变的)。 【STM32F4】HAL库 CubeMX(一)--------创建工程(点亮LED)
1、根据库函数代码, 添加以下代码即可实现本实验
uint16_t led0pwmval=0; uint8_t dir=1; HAL_TIM_PWM_Start(&htim14, TIM_CHANNEL_1); HAL_Delay(10); if(dir)led0pwmval++; else led0pwmval--; if(led0pwmval>300)dir=0; if(led0pwmval==0)dir=1; __HAL_TIM_SetCompare(&htim14, TIM_CHANNEL_1, led0pwmval);定时器有很多,大家可以去尝试用其他定时器┗|`O′|┛ 嗷~~ 大家也可以用按键控制灯的亮度。
