STM32通用定时器实现us微秒延时

本文介绍了如何在STM32芯片中使用通用定时器代替Systick来实现us级别的延时。通过配置预分频器寄存器TIMx_PSC,确保每次计数对应1us延时。在没有外部中断的情况下,通过示波器测试,延时精度大约为1.2us。
摘要由CSDN通过智能技术生成

  为了获取精确延时,STM32芯片中往往会使用内核中的嘀嗒时钟Systick作为参考时钟。当嘀嗒时钟被占用做其他用途时,比如RTOS中的节拍器;就需要采用其他方法进行延时。

  这里提出一种采用通用定时器作为延时的参考时钟的方法。

  首先选择基础定时器即可,配置定时器参数,主要关注预分频器寄存器TIMx_PSC,它的大小决定了延时的最小单位,由于TIM2的时钟为84MHz,所有TIM2_PSC设置为84,即每一次计数对应1us。另外,这里计数器采用向下计数,便于程序判断。

 1 void Delay_Timer_Init(void)
 2 {
 3     TIM_TimeBaseInitTy
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值