基础知识
定时器分类
typedef struct {
uint32_t Prescaler; // 预分频器
uint32_t CounterMode; // 计数模式
uint32_t Period; // 定时器周期
uint32_t ClockDivision; // 时钟分频
uint32_t RepetitionCounter; // 重复计算器
} TIM_TimeBaseInitTypeDef;
Prescaler:定时器预分频器设置,时钟源经该预分频器才是定时器时钟,它设定 TIMx_PSC寄存器的值。可设置范围为0至65535,实现1至65536分频。
CounterMode:定时器计数方式,可是在为向上计数、向下计数以及三种中心对齐模 式。基本定时器只能是向上计数,即TIMx_CNT只能从0开始递增,并且无需初始化。
Period:定时器周期,实际就是设定自动重载寄存器的值,在事件生成时更新到影子寄存器。可设置范围为0至65535。
ClockDivision:时钟分频,设置定时器时钟CK_INT频率与数字滤波器采样时钟频率分频比,基本定时器没有此功能,不用设置。
RepetitionCounter:重复计数器,属于高级控制寄存器专用寄存器位,利用它可以非常容易控制输出PWM的个数。这里不用设置。
实验案例
使用定时器TIM6,定时中断使小灯PB0定时1s闪烁一次。
步骤
LED灯PB0配置
定时器TM6的配置
时钟树的设置
编写函数
编写函数
下载验证
串口下载
欢迎关注本人wx公众H:那个混子
记录自己学习的过程,分享乐趣、技术、想法、感悟、情感!
单片机类嵌入式交流