stm32常规定时器有哪些?通用定时器概述
stm32常规定时器有哪些?通用定时器概述我们主要分为4个部分:时钟发生器、实际单元、输入捕获、输出比较3.中央对其:从0开始计数到你装载的值-1,产生溢出,然后从这个值在减1计数到1,在产生一个中断,然后再加,再减,这样运行了。我是按照stm32f103x系列最强的芯片讲解的,但是我的手头只有stm32f103xB芯片,所以我就没有这里面的TIM5 但是不影响我们来学习这些知识。后续我也就不说这个问题了,1.向上计数:从0加1开始计数到你设定的那个值,产生溢出,然后再从0开始计数2.向下计数:从你设定的那个值减1计数到0,产生溢出,然后再从你的设定的那个值开始再减
STM32f10x系列最多有8个定时器,都是16bit的,可分为3中类型:通用定时器、高级定时器、基本定时器。
三种定时器的区别这个东西还是要看具体的芯片类型了,其实我用的是stm32f103rbt6,这个属于STM32F103xB系列,它只有4个定时器:
只有3个通用定时器,1个高级定时器。
其实我们可以看出,功能最强的高级定时器,次之是通用定时器,功能最差的基本定时器。然而我们用到的最多的就通用定时器,这个基本上就可以满足我们的需求了。
通用定时器我是按照stm32f103x系列最强的芯片讲解的,但是我的手头只有stm32f103xB芯片,所以我就没有这里面的TIM5 但是不影响我们来学习这些知识。后续我也就不说这个问题了,
计数器模式1.向上计数:从0加1开始计数到你设定的那个值,产生溢出,然后再从0开始计数
2.向下计数:从你设定的那个值减1计数到0,产生溢出,然后再从你的设定的那个值开始再减
3.中央对其:从0开始计数到你装载的值-1,产生溢出,然后从这个值在减1计数到1,在产生一个中断,然后再加,再减,这样运行了。
通用定时器的工作过程我们主要分为4个部分:时钟发生器、实际单元、输入捕获、输出比较
1.时钟发生器:
时钟来源:①内部时钟APB1。②来自ETR管脚的时钟信号。③内部触发输入口(ITR)的信号。④来自于定时器的外部通道。
整体来说使用内部时钟是最简单的,并且也很准确。
2.实际单元:
将CK_PSC通过预分频器,也就是除一个数,产生CK_CNT时钟信号,这是时钟才是我们计数器用到的时钟,在这个时钟的控制下,才开始能计数,
3.输入捕获:
就是为了捕获通道引脚上的信息。通道标识CH1 、CH2、 CH3、 CH4这些是事实存在的引脚,可以查看datasheet。
常见应用就是捕获有个脉冲的宽度。
4.输出比较:
有个例子:假如有个向下的计数从 计数初值为100,我们在捕获比较寄存器中设定一个值50,假如计数器的值比50大,那么我们控制相应的通道输出有个高电平,要是计数器中的值比50小,我们控制相应的输出通道传输有个低电平,这样其实就产生了有个波,要是要调整这个波形的占空比,就需要调整捕获比较寄存器中设定的值,要是要控制波形的周期,就需要调整计数去的自动装载值。
主要这里面的四个通道(CH1 、CH2、 CH3、 CH4)要么是用作输入捕获,要么是用作输出比较,不能两个一起用。
所以说定时器的应用,也是围绕着这几个模块展开的:
1.怎么使用实际模块,实现定时器中断实验,怎么配置时钟,怎么计数,怎么定时
2.怎么使用输入捕获模块来捕获脉冲的宽度等
3.怎么使用输出比较模块实现pwm输出等,
这一系列的案例,我们将在后面的内容中一一的介绍。
喜欢我文章的朋友,欢迎关注、点赞、评论、交流。版权个人所有,转载请注明出处。