高级定时器简介
STM32F103ZET6中有TIM1,TIM8两个高级定时器,每一定时器都有
- 一个16位向上、向下、向上/下自动装载计数器
- 一个16位预分频器和四个独立从输入输出通道
- 每一个通道都可用于输入捕获、输出比较、PWM和单脉冲模式(除了基本定时器,高级定时器和通用定时器都能产生PWM)
单片机中没有时间的概念,因此定时器本质是一个以单位时间为准的计数器,计数值可以从0开始累加,也可以从一个设定值(ARR)的值递减,每隔一个固定的时间(由psc和时钟周期控制)计数器的值+1或-1,加到或减到头时会产生一个溢出信号,此时计数器的计数值清零或补充成初值,重新开始计数
高级定时器框图
1. 时钟源
由四个时钟来源,分别是
- 内部时钟源 CK_INT
- 外部时钟模式 1:外部输入引脚 TIx(x=1,2,3,4)
- 外部时钟模式 2:外部触发输入 ETR
- 内部触发输入(ITRx)
我们一般只用内部时钟源CK_INT,对于高级定时器,其时钟是由APB2总线时钟决定的
其他类型的定时器同理可以参考参考手册的RCC部分的时钟框图
对于其他时钟来源,参考参考手册的13.3.4小节
2. 控制器
用来控制和发送命令的
相关的寄存器有
- CR1(control register 1 )控制寄存器1
- CR2(control register 2 )控制寄存器2
- SMCR(slave mode control register)从模式控制寄存器
宏观上来讲,主模式:就是主CPU作为主机,向从机(挂载器件)发送接收数据。
从模式&#