定时器定时中断
1.1接线图

因为定时器和中断系统的电路都在STM32内部,定时中断是为我们程序设计提供服务的,芯片外部只需要插一个OLED显示数据。
1.2 设计思路
本设计采用模块化编程,在配置好的工程基础上在System文件夹中加上Timer.c、Timer.h两部分。
在Timer.c首先进行函数的初始化。
初始化定时器大致思路
1. 第⼀步,RCC开启时钟 ,定时器的基准时钟和整个外设的工作时钟就会同时打开。 2. 第⼆步,选择时基单元的时钟源 (内部时钟源) 3. 第三步,配置时基单元 4. 第四步,配置输出中断控制,允许更新中断输出到NVIC 5. 第五步,配置NVIC,在NVIC中打开定时器中断的通道,并分配⼀个优先级 6. 第六步,运⾏控制 7. 第七步,使能计数器,计数器使能后,计数器开始计数,当计数器更新时,触发中断
8. 第八部,定时器中断函数,中断函数每隔一段时间就能自动执行一次
1.3 知识储备--定时器常用库函数
恢复缺省配置函数
void TIM_DeInit(TIM_TypeDef* TIMx);
时基单元初始化函数
void TIM_TimeBaseInit(TIM_TypeDef* TIMx, TIM_TimeBaseInitTypeDef*TIM_TimeBaseInitStruct);
把结构体变量赋⼀个默认值函数
void TIM_TimeBaseStructInit(TIM_TimeBaseInitTypeDef*TIM_TimeBaseInitStruct);
使能计数器函数 (对应运行控制)
void TIM_Cmd(TIM_TypeDef* TIMx, FunctionalState NewState);
使能中断输出信号函数(中断输出控制)
void TIM_ITConfig(TIM_TypeDef* TIMx, uint16_t TIM_IT, Functional