嵌入式学习——stm32(3.1)定时器基础

文章介绍了定时器的基本概念,包括时基单元的组成部分如预分频器、计数器和自动重装寄存器,以及不同计数模式。特别讨论了基本定时器和通用定时器的区别,通用定时器支持更多功能如输入捕获和输出比较,适用于生成PWM波形等应用。
摘要由CSDN通过智能技术生成

目录

        1.定时器简介:

        2.时基单元:

        3.定时器资源:

3.1:基本定时器

3.2:通用定时器

        4.总结:


        1.定时器简介:

                从字面来看,定时器就是用来计时的机器, 可以通过计时来触发中断或者事件。

        2.时基单元:

                定时器计时是通过时基单元来实现的,时基单元主要包括:预分频器(PSC),计数器(CNT),自动重装器(ARR)。这三个单元都是16位的,也就是说它们的取值范围都是0~65535,具体实现的功能在下面会提到。

                计数器分三种模式:

                1.向上计数:从某个数(初值)减到零,产生一个计数器更新事件后重装载初值;

                2.向下计数:从零加到某个数(终值),产生一个计数器更新事件后重装载零;

                3.中央对齐:也叫向上/向下计数模式;计数器从0开始计数到自动加载的值(TIMx_ARR寄存器)−1,产生一个计数器更新事件,然后向下计数到1并且产生一个计数器更新事件;然后再从0开始重新计数。

        3.定时器资源:

                定时器分为三种,分别是基本定时器,通用定时器,高级定时器,这三个定时器分别有着不同的功能

                

                在c8t6中,一共有四个定时器,分别是高级定时器(TIM1),通用定时器(TIM2,TIM3,TIM4)。

        3.1:基本定时器

        

        虽然说c8t6并没有搭载基本定时器,但是通过基本定时器理解时基单元会更清晰一些。 

        基本定时器中有三个重要的寄存器,分别是预分频器、计数器、自动重装寄存器,构成了最基本的计数计时电路,这块电路叫做时基单元。

       预分频器(PSC): 从图中可以看见,时基单元的输入连接的是CK_INT,来源是RCC_TIMxCLK,频率值一般都是系统的主频72MHz。 预分频器可以将72MHZ分频,要注意的是,这个寄存器写入的值是实际分频程度-1,例如1分频,也就是不分频时,PSC的值为0;要2分频输出36MHZ的频率时,PSC的值为1。所以输出频率=输入频率/(PSC+1)。

        计数器(CNT):可以对预分频后的计数时钟进行计数,计数时钟每来一个上升沿,计数器的值就加1,因为计数器是16位,范围在0~65535,超过65535,计数器就会回到0重新开始。

        自动重装载器(ARR):是计数器计数的目标值,当计数到自动重装载值时,就会产生中断开始下一次计时。       

        在此补充一下,hz是频率的单位,1hz就是每秒1次,60hz就是每秒60次,单位的换算:1mhz=1000000hz。所以72MHZ的意思就是每秒有72000000次方波。

        3.2:通用定时器

        

        通用定时器的框图就要复杂很多了,很多东西我也不太清楚,对照框图大概说一下

        通用定时器的四大部分(红框): 

        ①:时钟产生部分: a.内部时钟

                                          b.外部时钟挂载:ETR引脚

           通过引脚定义图可以看到,ETR引脚是在PA0上的,也就是我们如果要外接外部时钟,接在ETR引脚上就可以了

                                           c.ch1引脚的边沿

                                           d.ch1引脚和ch2引脚

             其实目前来说用的最多的就是内部时钟了,其他几个了解一下就可以了。

         ②:时基单元:这一部分和基本定时器一样,前面已经说过了。

         ③:输入捕获部分:输入捕获可以通过检测通道输入引脚出现的指定电平跳变,通过计时器内部计时测量PWM波形的频率、占空比、脉冲问题、电平持续时间等参数。后面的章节会讲到

         ④:输出比较部分:输出比较可以通过CNT与比较(CCR)寄存器的关系来对输出电平进行置1,置0或翻转的操作,用于输出一定频率和占空比的PWM波形。

        高级定时器就不说了,因为我也没有用过,以后用到的话会补充。

        4.总结:

           定时器的结构看起来很复杂,但在我们应用的时候相对会简单一些,只需要进行一些简单的计算,修改PSC,ARR,CCR的值就可以达到我们想要的效果。

        

        

  • 12
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值