定时器功能:1 产生PWM方波输出;2 捕获输入波形的周期及占空比;
定时器分为基本定时器,通用定时器以及高级定时器;
高级定时器常用寄存器分析:
(1)控制寄存器CR1:主要由时基初始化函数配置CK_CNT
(2)计数器寄存器CNT:数字根据CK_CNT时钟递增或递减
void TIM_SetCounter(TIM_TypeDef* TIMx, uint16_t Counter);
(3)自动加载寄存器ARR:将ARR中的数加载到CNT
void TIM_SetAutoreload(TIM_TypeDef* TIMx, uint16_t Autoreload)
(4)预分频寄存器PSC:设置预分频值,将CK_PSC分频为CK_CNT
void TIM_TimeBaseInit(TIM_TypeDef* TIMx, TIM_TimeBaseInitTypeDef* TIM_TimeBaseInitStruct);
typedef struct
{
uint16_t TIM_Prescaler;// 设置预分频寄存器PSC中的值
uint16_t TIM_CounterMode;//设置SR寄存器的CMS以及DIR,从而选则计数方向
uint16_t TIM_Period; //设置自动加载寄存器ARR的值
uint16_t TIM_ClockDivision; //设置SR寄存器中CKD
uint8_t TIM_RepetitionCounter;//设置重复寄存器RCR中的值
} TIM_TimeBaseInitTypeDef;
寄存器CR1中的CEN为CK_CNT时钟的总开关:
void TIM_Cmd(TIM_TypeDef* TIMx, FunctionalState NewState);
寄存器CR1中的ARPE为ARR预装载允许位:
void TIM_ARRPr
stm32学习笔记——定时器
最新推荐文章于 2024-07-04 20:23:56 发布