一、定时器介绍
1、定时器用途:
2、定时器类型:
STM32F103C8T6单片机的定时器只有TIM1、TIM2、TIM3、TIM4
①基本定时器框图:
实际预分频系数=预分频系数PSC+1
预分频寄存器和CNT计数计时器都是十六位的,即从0-65535
②通用定时器:
③高级定时器
二、定时器中断的基本结构
运行控制:启动停止、向上向下计数等等
三、时序
①预分频寄存器的时序
②计数器时序
四、代码
1、开启RCC时钟
解释:开启TIM2的时钟
2、选择时基单元的时钟源(大多情况为内部时钟源)
解释:选择TIM2的时钟源为内部时钟源(可有可无,因为系统自动默认为内部时钟源)
3、配置时基单元(包括预分频器PSC、自动重装器ARR、计数器CNT、计数模式等等)
解释:①内部时钟分频为1分频(这个没有影响,设置为1就行)②计数方式:向上计数③自动重转载值:ARR=10000(也就是最大值是10000)④预分频系数PSC=7200(就是分成了多少份)
这里就是对72MHZ进行7200分频→72000000/7200=10000
在10000的频率下计10000个数,那就是1s,因为10000hz的意思是1s计10000个数
若预分频系数PSC小,自动重载值ARR大,就是以一个较高的频率计较多的数
4、配置输出中断控制,允许更新中断输出到NVIC
解释:开启更新中断到NVIC的通路
5、配置NVIC,在NVIC中打开定时器中断的通道,并分配一个优先级
解释:①选择NVIC分组2②开启TIM2的中断通道③使能中断④抢占2⑤响应1⑥启动定时器
6、中断内部函数编写
解释:①注:函数名称不能自己随便起,要去启动文件里面找②先判断TIM2的更新中断是否触发③触发后Num的值自加然后清除更新中断寄存器