第十五届蓝桥杯备赛-嵌入式-5定时器

通过对定时器基础知识的讲解,实现对定时器的操作。

1.认识定时器

定时器是嵌入式学习中极其重要的一部分内容,定时器通常由计数器和一组控制寄存器组成,计数器通常用来计数,而控制寄存器通常用来配置计数器的技术模式、计数范围、时钟源等。工作原理:设置一个值,计数器计数值不断累加,当达到预先设定的值时,就会触发中断或产生输出一个脉冲。定时器的功能很强大,可以用来定时、计数、PWM产生、输入捕获、定时中断等。

2.定时器基本原理

通过查看STM32G431RBTx数据手册的定时器内部结构图可知,在APB1和PAB2总线上一共挂有10个定时器,其中,两个基本定时器(TIM6,TIM7),三个全功能通用定时器(TIM2,TIM3,TIM4),三个只有一个通道或两个通道的通用定时器(TIM15,TIM16,TIM17),以及两个高级定时器(TIM1,TIM8)。

就功能而言,基本定时器、通用定时器、高级定时器相当于一个结构层次,通用定时器的功能涵盖了基本定时器的功能,高级定时器的功能涵盖了通用定时器的功能。通过对时钟树都观察可知,并不是直接将APB1、APB2给到定时器,而是通过倍频的方式给到定时器,,对于x1,x2的主要取决与PCLK前面的分频,如果PCLK前面的分频是1,那么就是x1,如果PCLK前面的分频是其他,那么就是x2,这样就保证了时钟的高频率。

以上表格是对定时器的一些说明,包括计数器分频率、计数器类型、预分频系数、DMA请求、捕捉/比较通道、互补输出等。

计数器分频率:决定计数器的计数范围,比如16-Bit(0-65535);

预分频系数:1-65535;

捕获/比较通道:PWM等

计数器类型:向上计数、向下计数、向上/向下计数

        向上计数模式:计数器从0计数到自动重装值(TIMx_ARR),然后归0,继续计数。

        向下计数模式:计数器从自动重装载值(TIMx_ARR)开始向下计数到0,再回到自动重装载值重新开始向下计数。

        中央对齐模式:计数器从0开始计数到自动重装载值的-1,然后产生溢出中断(产生一个计数器溢出事件),然后向下计数到1产生一个计数器溢出事件;然后从0开始重新计数。

定时器周期计算公式:T=(arr+1)*(PSC+1)/TcK;

其中TcK为时钟频率,PSC为时钟预分频系数,,arr为自动重载值。例如:如果TcK=80MHz,PSC=80-1,arr=1000-1;则T=10ms,即中断开启的加10ms进入一次中断。

3.编程实战

实验现象:指示灯LD1、LD2以1m的时间间隔闪烁.

步骤;

        1.查看原理图,找到与指示灯相对应的引脚。

        2.对STM32CubeMX的操作如下,

         (1)选择定时器1,将定时器来源(Clock Source)改为内部时钟(Internal Clock);

         (2)对预分频系数、计数模式、计数周期等进行配置;

         (3)开启中断使能;

         (4)对时钟树进行配置;

         (5)设置输出keil工程文件基本参数

        3.代码流程编写参考

        (1)设置时钟预分频系数;

        (2)设置自动重载值;

        (3)使能中断;

        (4)启用定时器;

        (5)操作指示灯;

         (6)清除中断标志;

HAL库代码将会在后期更新!!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值