写在前面:在STM32F103中有众多的定时器,其中包括两个基本定时器,基本定时器的内容已经在上节进行了介绍,基本定时器的功能、结构、使用都较为简单。而STM32F1中还含有4个通用定时器(TIM2\3\4\5),这些定时器相互独立,不共享资源。本节我们来学习通用定时器的基本使用。
一、通用定时器
基本定时器回顾:CSDN
1.1 定时器简介
上图为通用定时器与基本、高级定时器的基本区别;其中主要的特性是:
1、含有16位递增、递减、中心对齐的计数器;
2、含有16位预分频器,分频系数为1-65536;
3、可用于触发DAC、ADC事件;
4、在更新事件、触发事件、输入捕获、输出比较中可以产生中断以及DMA请求;
5、含有4个独立通道,用于输入捕获、输出比较 、输出PWM波形以及单脉冲模式。
1.2 定时器结构框图
如上图所示,为STM32F1中通用定时器的结构框架,其结构相对于基本定时器来说就很复杂,可能第一眼就很厌烦。但是我们将核心抓住,然后分模块化的进行学习,将一一进行消化。手带你我们看第三部分:也就是图中蓝色区域,我们细心看可以发现,其结构就是基本定时器的结构,这样就只剩下五部分学习了:先对五部分进行简单介绍,后面在细细进行学习;
1、时钟源
与基本定时器(只能来自内部时钟)不同的是:
通用定时器时钟可以选择下面四类时钟源之一:
1)内部时钟(CK_INT)
2)外部时钟模式 1:外部输入引脚(TIx),x=1,2(即只能来自于通道 1 或者通道 2)
3)外部时钟模式 2:外部触发输入(ETR)
4)内部触发输入(ITRx):使用一个定时器作为另一定时器的预分频器