1.代码部分
1.主函数
2.Timer.c源代码
3.Timer.h头文件声明
2.所使用的各种库函数的声明
TIM_InternalClockConfig函数:
- 用于来指定TIM中断器的模式
TIM_TimeBaseInit函数
- 用于来初始化实践基础单元(时基单元),其参数为指定的TIM终端通道和是时基单元初始化用的结构体
TIM_ClearFlag函数
- 用来手动清除TIM的中断标志位,使更新事件和中断事件在上电时不会同时触发,从而时计时能够从0开始计时
TIM_Cmd函数
- 参数:以指定的TIM类型和其使能和失能状态为函数参数
- 作用:用来控制TIM自身的开启状态
TIM_ITConfig函数
- 一共有三个参数:指定的TIM通道(是哪个),触发状态,使能与失能状态
- 作用:配置定时器的中断功能,例如更新中断、触发中断、输入捕获中断等和指向NVIC通道的开启状态
NVIC_PriorityGroupConfig函数
- 参数:NVIC事件模式和中断模式的分组方式(可以跳转定义来查看)
- 作用:指定NVIC的中断分组方式
NVIC_Init函数
- 参数:NVICInitTypdef的结构体的地址
- 作用:初始化NVIC
TIM2_IRQHandler函数
- 无参函数,可以在启动文件找到定义
- 作用:用于判断在接受到对应中断通道后执行相应的操作,通常和 if 判断语句来使用
TIM_GetITStatus函数
- 参数:TIM的指定中断器,以及其开启的模式
- 作用:用来获取指定通道的中断标志位,返回值为SET或RESET(宏定义)
TIM_ClearITPendingBit函数
- 无参函数
- 作用:清除中断标志位,便于函数的执行
3.几个注意点
1.定时事件的指定
- 定时事件由以上公式来获得的
- 其中CK_CNT指的是计数器的的频率,ARR指的是自动重装寄存器的值,CK_PSC预分频器的输入时钟频率(在stm32中是72MHz),PSC指的是预分频器的值(之所以要加1是因为分频是从0开始的),ARR指的是自动重装寄存器的值。
2.几个原理图