目录
11. 通用定时器-PWM
1. 实验内容及步骤:
1. 通过定时器2,经过分频和重装载值生成50Hz=20ms的周期的中断,并且在50次中断后(即1s),让LED反转。
2. 通过定时器2通道1(PA0)的PWM输出,实现LED呼吸灯。
2. 硬件说明
本电路的硬件如下图所示,LED灯与GPIOB5相连,低电平亮,高电平灭。
3. 步骤详细讲解
3.1定时器配置
1. 时钟的选择,选择内部时钟源;
2. 计数模式的选择,选择向上计数;
3. 定时器分频选择,内部时钟源=2*APB1=72M,分频720得到定时器的时钟100KHz
4. 自动重装载:配置为2000,即100KHz/2000=50Hz=20ms(周期);
5. 中断源配置:配置只有上下溢出中断,使能中断。
1. 时钟选择
内部时钟源:
TIMx_SMCR寄存器中的SMS[2:0]=000, 关闭从模式
本实验中使用内部时钟:
TIMx_SMCR &= ~((u32)0x07<<0); //关闭从模式
TIMx_CR1寄存器的CEN(第0位),决定定时器的使能/禁止。
内部时钟源(CK_INT) CEN位被写成’1’。
本实验中:
TIMx_CR1 |= ((u32)0x01<<0); //使能计数器
2. 计数方向选择
TIMx_CR1的CMS[1:0]=00, 边沿对齐模式。计数器依据方向位(DIR)向上或向下计数。
TIMx_CR1的DIR位ÿ