基本概念:
定时器是对周期固定的脉冲信号进行计数(如MCU内部的外部时钟(APB))
计数器是对周期不确定的脉冲信号进行计数(如MCU的I/O引脚所引入的外部脉冲信号)
结论:定时器和计数器本质都是计数器,定时器是计数器的一种特例
本次学习常规计数器
分类
基本定时器:几乎没有没有任何的输入输出通道,常用作时基,实现基本的定时计数功能
通用计时器:具有多路独立的捕获和比较通道,可以完成定时/计数、输入捕获、输出比较等功能
高级定时器:除具有通用定时器的功能外,还具备带死区控制的互补信号输出、紧急刹车关断输入等功能,可用于电机控制和数字电源设计
注:高级定时器功能包含通用定时器功能 通用定时器功能包含基本定时器功能
STM32G431共10个定时器——分类
高级定时器(TIM1/TIM8)挂靠总线APB2
16位向上、向下、向上/向下自动重载计数器
可编程预分频的16位自动重载计数器,允许1到65535之间的任何因子对计数器时钟频率进行分频
通用计时器(TIM2/TIM3/TIM4)TIM2挂靠总线APB1 TIM3/TIM4挂靠总线APB1
16位或32位向上、向下、向上/向下自动重载计数器
TIM2 32位 TIM3 16位 TIM4 16位
通用计时器(TIM15/TIM16/TIM17)挂靠总线APB2
定时器由一个由驱动器驱动的16位自动重载计数器组成
基础定时器(TIM6/TIM7)挂靠总线APB1
包含一个由可编程预分频的16位自动重载计数器
定时器基本功能:
1.计数内部时钟,及定时器功能
2.计数外部脉冲,即计数器模式
输出比较:
1.PWM输出 2.电平反转 3.单脉冲输出 4.强制输出
输入捕获:
1.捕获时保存定时器的当前计数值:捕获时,可选择触发捕获中断
2.触发捕获的信号边沿类型可选择:(上升沿、下降沿、双边沿)
实现功能:使用定时器使LED每隔1s实现亮灭
STM32初始化
设置系统时钟,定时器80M分频
上面的划线是外部总线AHP1 下面的划线是定时器TIM2/TIM3/TIM4....
在蓝桥杯比赛中我们常用TIM6/TIM7本次使用TIM6
分频80:80-1=79
计数到1999
设置自动重载
使能TIM6
开始编写代码
下面是STM32自动生成的TIM6代码
这个在tim.c文件
自己写代码
功能实现