HAL库自学笔记#1【通用TIM定时器】

目录

绪言

一、定时器整体工作流程梳理

二、寄存器剖析

1·CR1、ARR、PSC寄存器

2·DIER、SR、CNT寄存器

三、CubeMX配置定时器


绪言

定时器可以说是32中非常重要的一个外设了,之前虽然知道怎么去配置和使用它,但是其中的原理却是一知半解。通过最近的学习,才慢慢摸索到其中的奥秘。这篇文章主要聊一聊定时器的工作原理和定时器中断,只是最最基础的东西,关于定时器的输入输出,会在接下来的文章中更新。

一、定时器整体工作流程梳理

在最开始,先来看一下ST官方手册给出的框图

这里只是截取了本次内容需要关注的东西,有兴趣的读者可以自行去查看官方手册。

可以看到,其最基本的工作原理还是比较简单的,就是一个时钟源的选择,然后用选择的时钟源作为一个计数器的时钟。CNT计数器按照自动重装载寄存器里面的值向上或者向下计数。当计数达到阈值时,可以选择产生中断与否,然后将自动重装载寄存器的值更新到CNT计数器重新计数。如此循环往复,就是定时器的工作原理。

二、寄存器剖析

上面已经说了定时器的基本工作原理,那它是怎么知道时钟源的选择以及该向上还是向下计数呢?这些问题都是通过配置相应的寄存器去控制定时器的。接下来就来剖析剖析定时器相关的寄存器。

1·CR1、ARR、PSC寄存器

基本上很多外设都会有一个CR寄存器(控制寄存器),各个外设的这个寄存器的大致作用也都差不多,都是对外设的一些初始化参数进行配置。

对于只是让定时器“跑起来”,我们只需要关注这个寄存器的以下位:

1)ARPE位:作用是使能预装载寄存器缓冲(会在后面介绍)

2)CMS位、DIR位࿱

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值