定时器中断实验

1、先了解定时器的工作过程
2、计数器时钟可以由下列时钟源提供:
内部时钟(CK_INT)
外部时钟模式1:外部输入脚(TIx)
外部时钟模式2:外部触发输入(ETR)
内部触发输入(ITRx):使用一个定时器作为另一个定时器的预分频器,如可以配置一个定时器Timer1而作为另一个定时器Timer2的预分频器。
3、定时器中断实验相关寄存器
(1)计数器当前值寄存器CNT
定时器中断实验操作
(2)预分频寄存器TIMx_PSC

定时器中断实验操作(3)自动重装载寄存器(TIMx_ARR)
定时器中断实验操作4、通用定时器常用寄存器和库函数
(1)控制寄存器1(TIMx_CR1)
定时器中断实验操作(2)DMA中断使能寄存器(TIMx_DIER)
定时器中断实验操作5、对于常用的库函数
(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)状态标志位获取和清除
6、对于定时器中断实现的步骤
(1)能定时器时钟。
RCC_APB1PeriphClockCmd();
(2)初始化定时器,配置ARR,PSC。
TIM_TimeBaseInit();
(3)开启定时器中断,配置NVIC。
void TIM_ITConfig();
NVIC_Init();
(4) 使能定时器。
TIM_Cmd();
(5) 编写中断服务函数。
TIMx_IRQHandler();

相关文章:

  • 2022-12-23
  • 2021-11-30
  • 2021-07-08
  • 2021-12-10
  • 2021-04-26
猜你喜欢
  • 2021-10-07
  • 2021-07-31
  • 2021-09-19
  • 2021-04-16
  • 2021-07-20
  • 2021-10-23
  • 2021-06-17
相关资源
相似解决方案