STM32L431RCT6定时器的使用以及微秒级延时的实现

本文介绍了STM32L431xx系列芯片中的不同类型的定时器,如高级定时器TIM1、通用定时器TIM2、TIM15、TIM16,基本定时器TIM6、TIM7以及低功耗定时器LPTIM1、LPTIM2。以TIM2为例,详细阐述了如何设置预分频器实现us级延时,通过HAL库的函数__HAL_TIM_SetCounter、HAL_TIM_Base_Start、__HAL_TIM_GetCounter和HAL_TIM_Base_Stop进行计数器的配置和控制,以达到精确延时的目的。

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

STM32L431xx 系列有 1 个高级定时器(TIM1), 3 个通用定时器(TIM2、TIM15、TIM16),两个基本定时器(TIM6、TIM7),还有两个低功耗定时器(LPTIM1、LPTIM2)。基本、高级、通用定时器间的区别可以参考此博文:http://t.csdn.cn/HUkkR。下面TIM2为例实现us级的延时。

     1、设置TMI2参数:参照数据手册中的RCC时钟树,TIM2内部时钟来源是ABP1= 80Mhz ,这个速率对定时器而言太快,且我们的目的是每秒钟产生1M次中断,因此需要对其进行一个预分频处理:

                计算器的时钟频率CK_CNT=fck_psc/(PSC+1)=80Mhz/(80-1+1)=1Mhz。因此所以预分频系数设置为80-1,自动重载值为1,得到的计时器更新中断频率即为80Mhz/80/1=1MHz(1Hz即1us)。为了防止中断频繁打断正常程序的执行,因此这里进行设置时不采用中断。

               

                         

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值