stm32之通用定时器
作者:互联网
文章目录
stm32f10x系列最多有8个定时器
3种定时器
1.高级定时器
2.基本定时器
3.通用定时器
定时器中断
时钟选择
计数器时钟可以由下列时钟源提供:
1.内部时钟(CK_INT)(默认)
2.外部时钟模式1:外部输入脚 (TIx)
3.外部时钟模式2:外部触发输入(ETR)
4.内部触发输入(ITRx):使用一个定时器作为另一个定时器的预分频器,如可以配置一个定时器Timer1而作为另一个定时器Timer2的预分频器
定时器中断相关寄存器
1.计数器当前值寄存器CNT
2.预分频寄存器PSC
3.自动重装载寄存器ARR
4.控制寄存器1 CR1
5.DMA中断使能寄存器DIER
定时器中断库函数
1.定时器初始化函数
void TIM_TimeBaseInit(TIM_TypeDef* TIMx, TIM_TimeBaseInitTypeDef* TIM_TimeBaseInitStruct);
预分频系数
计数模式
自动装载值
2.定时器使能函数
void TIM_Cmd(TIM_TypeDef* TIMx, FunctionalState NewState);
3.定时器中断使能函数
void TIM_ITConfig(TIM_TypeDef* TIMx, uint16_t TIM_IT, FunctionalState NewState);
4.状态标志位的获取和清除
FlagStatus TIM_GetFlagStatus(TIM_TypeDef* TIMx, uint16_t TIM_FLAG);
void TIM_ClearFlag(TIM_TypeDef* TIMx, uint16_t TIM_FLAG);
ITStatus TIM_GetITStatus(TIM_TypeDef* TIMx, uint16_t TIM_IT);
void TIM_ClearITPendingBit(TIM_TypeDef* TIMx, uint16_t TIM_IT);
定时器中断的配置
1.使能定时器时钟
2.初始化定时器
3.开启定时器中断,配置中断
4.使能定时器
5.编写中断服务函数
溢出时间计算
延时500ms
ARR设置为4999,PSC设置为7199,TCLK是时钟周期
PWM输出
PWM原理
就是设置一个阈值,当大于阈值时输出高电平,低于阈值输出低电平
PWM库函数
1.初始化函数
2.设置比较值函数
3.使能输出比较预装载
4.使能自动重装载的预装载寄存器允许位
pwm配置步骤
注:如果是普通定时器,不需要加上
对于TIM1和TIM8高级定时器则需要加上
标签:使能,定时器,通用,中断,TIMx,stm32,TIM,寄存器 来源: https://blog.csdn.net/qq_41262681/article/details/95892667