STM32F103C8 TIM定时器中断

简介: STM32F103C8 TIM定时器中断

前言

大部分接触STM32的学生还是以电赛为目的的,由于最近省赛时间紧迫,所以对于STM32的学习更多的在应用层,接下去的文章对于原理的介绍会减少,主要在于应用。


一、定时器类型

STM32F103C8T6外设:TMI1,TIM2,TIM3,TIM4

二、定时器具体配置

1.时间单元设置及通道初始化

这里的计数器溢出频率单位是赫兹,计数器溢出频率的倒数就是定时器触发的时间周期,一般我们计算用的是下面一个等于号的式子,这里的符号表示如下:

CK_PSC 一般为72Mhz(720 0000)

ARR 自动重装 对应变量TIM_Period 范围0~65535

PSC 分频  对应变量 TIM_Prescaler 范围0~65535

还有一些具体的操作看代码的注释,套模板即可

1. void Timer_Init(void)
2. {
3.  RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);
4. 
5.  TIM_InternalClockConfig(TIM2);//选择哪个中断就写哪个
6. 
7.  TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStructure;
8.  TIM_TimeBaseInitStructure.TIM_ClockDivision = TIM_CKD_DIV1;//修改分频,对实际情况影响不大,可以不修改
9.  TIM_TimeBaseInitStructure.TIM_CounterMode = TIM_CounterMode_Up;//向上对齐模式,同时还有向下对齐,中央对齐模式
10.   TIM_TimeBaseInitStructure.TIM_Period = 10000 - 1;
11.   TIM_TimeBaseInitStructure.TIM_Prescaler = 7200 - 1;
12.   TIM_TimeBaseInitStructure.TIM_RepetitionCounter = 0;//高级计数器需要,不需要用到的直接给0就好
13.   TIM_TimeBaseInit(TIM2, &TIM_TimeBaseInitStructure);
14. 
15.   TIM_ClearFlag(TIM2, TIM_FLAG_Update);//用于解决一复位时就先进一次中断的情况
16.   TIM_ITConfig(TIM2, TIM_IT_Update, ENABLE);
17. 
18.   NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
19. 
20.   NVIC_InitTypeDef NVIC_InitStructure;
21.   NVIC_InitStructure.NVIC_IRQChannel = TIM2_IRQn;
22.   NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
23.   NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 2;//抢占优先级
24.   NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;//响应优先级
25.   NVIC_Init(&NVIC_InitStructure);
26. 
27.   TIM_Cmd(TIM2, ENABLE);
28. }

2.定时器中断函数

直接套模板即可

1. void TIM2_IRQHandler(void)
2. {
3.  if (TIM_GetITStatus(TIM2, TIM_IT_Update) == SET)
4.  {
5. 
6.    TIM_ClearITPendingBit(TIM2, TIM_IT_Update);//清出中断寄存器标志位,用于退出中断
7.  }
8. }


相关文章
|
6天前
|
传感器 存储
STM32--TIM定时器(3)
STM32--TIM定时器(3)
STM32--TIM定时器(3)
|
6天前
|
编解码 芯片
STM32--TIM定时器(2)
STM32--TIM定时器(2)
|
6天前
|
传感器
STM32--TIM定时器(1)
STM32--TIM定时器(1)
|
6天前
STM32F103标准外设库——SysTick系统定时器(八)
STM32F103标准外设库——SysTick系统定时器(八)
93 0
STM32F103标准外设库——SysTick系统定时器(八)
|
6天前
|
传感器
STM32标准库外部中断和定时器知识点总结-2
STM32标准库外部中断和定时器知识点总结
|
6天前
|
传感器
STM32标准库外部中断和定时器知识点总结-1
STM32标准库外部中断和定时器知识点总结
|
6天前
STM32定时器的使用
STM32定时器的使用
21 1
|
6天前
|
传感器 物联网 开发者
【STM32基础 CubeMX】定时器的使用
【STM32基础 CubeMX】定时器的使用
126 0