0 卖盘信息
BOM询价
您现在的位置: 首页 > 电子资讯 >技术信息 > STM32 HAL 库 uS 延时的 3 种实现方式

STM32 HAL 库 uS 延时的 3 种实现方式

来源: 21ic
2021-03-09
类别:技术信息
eye 39
文章创建人 拍明

原标题:STM32 HAL 库 uS 延时的 3 种实现方式

在STM32 HAL库中实现微秒(uS)延时,可以采用多种方式。以下是三种常见的实现方式:

1. 使用SysTick定时器

SysTick是一个24位的定时器,常用于操作系统的滴答计时器或提供基本的延时功能。在STM32 HAL库中,可以配置SysTick定时器来生成精确的延时。

实现步骤

  1. 初始化SysTick定时器,设置其重载值以产生所需的时钟滴答。

  2. 编写一个延时函数,该函数根据所需的延时时间计算SysTick的滴答数,并在等待这些滴答时忙等待(busy-wait)。

注意:由于SysTick通常用于操作系统的实时时钟,因此如果项目中已经使用了RTOS或需要精确的定时功能,这种方法可能会与其他功能冲突。

2. 使用DWT(数据观察跟踪)循环计数器

DWT(Data Watchpoint and Trace)是Cortex-M内核的一个调试支持特性,它提供了一个32位的循环计数器(CYCCNT),该计数器以处理器时钟周期为单位递增。在调试期间,DWT通常用于性能分析,但也可以用于实现精确的延时。


image.png

实现步骤

  1. 启用DWT循环计数器。

  2. 编写一个延时函数,该函数读取当前的CYCCNT值,加上所需的时钟周期数,然后忙等待直到CYCCNT达到该值。

注意:DWT是调试特性,因此在生产代码中启用它可能会增加功耗并占用调试资源。此外,如果处理器时钟频率发生变化,这种方法可能不准确。

3. 使用定时器外设

STM32微控制器具有多个定时器外设,这些定时器可以配置为生成精确的延时。

实现步骤

  1. 选择一个定时器外设(如TIM2、TIM3等),并根据需要配置其时钟源、预分频器和计数器模式。

  2. 编写一个延时函数,该函数启动定时器,并在定时器达到所需的计数值时通过中断或轮询方式结束延时。

注意:使用定时器外设会占用硬件资源,并且可能需要额外的中断处理代码。此外,定时器的精度受到其时钟源和预分频器设置的影响。

总结

每种方法都有其优点和缺点,选择哪种方法取决于具体的应用场景和需求。例如,如果需要非常精确的延时并且不担心占用硬件资源,那么使用定时器外设可能是最好的选择。如果希望在调试期间使用精确的延时而不影响生产代码的性能,那么DWT循环计数器可能是一个不错的选择。如果项目中已经使用了SysTick定时器并且不需要高精度的延时,那么继续使用SysTick可能是最简单的方法。

在实际项目中,还需要考虑功耗、实时性、代码复杂性和可维护性等因素,以选择最适合的延时实现方式。


责任编辑:David

【免责声明】

1、本文内容、数据、图表等来源于网络引用或其他公开资料,版权归属原作者、原发表出处。若版权所有方对本文的引用持有异议,请联系拍明芯城(marketing@iczoom.com),本方将及时处理。

2、本文的引用仅供读者交流学习使用,不涉及商业目的。

3、本文内容仅代表作者观点,拍明芯城不对内容的准确性、可靠性或完整性提供明示或暗示的保证。读者阅读本文后做出的决定或行为,是基于自主意愿和独立判断做出的,请读者明确相关结果。

4、如需转载本方拥有版权的文章,请联系拍明芯城(marketing@iczoom.com)注明“转载原因”。未经允许私自转载拍明芯城将保留追究其法律责任的权利。

拍明芯城拥有对此声明的最终解释权。

标签: STM32

相关资讯

资讯推荐
云母电容公司_云母电容生产厂商

云母电容公司_云母电容生产厂商

开关三极管13007的规格参数、引脚图、开关电源电路图?三极管13007可以用什么型号替代?

开关三极管13007的规格参数、引脚图、开关电源电路图?三极管13007可以用什么型号替代?

74ls74中文资料汇总(74ls74引脚图及功能_内部结构及应用电路)

74ls74中文资料汇总(74ls74引脚图及功能_内部结构及应用电路)

芯片lm2596s开关电压调节器的中文资料_引脚图及功能_内部结构及原理图_电路图及封装

芯片lm2596s开关电压调节器的中文资料_引脚图及功能_内部结构及原理图_电路图及封装

芯片UA741运算放大器的资料及参数_引脚图及功能_电路原理图?ua741运算放大器的替代型号有哪些?

芯片UA741运算放大器的资料及参数_引脚图及功能_电路原理图?ua741运算放大器的替代型号有哪些?

28nm光刻机卡住“02专项”——对于督工部分观点的批判(睡前消息353期)

28nm光刻机卡住“02专项”——对于督工部分观点的批判(睡前消息353期)

拍明芯城微信图标

各大手机应用商城搜索“拍明芯城”

下载客户端,随时随地买卖元器件!

拍明芯城公众号
拍明芯城抖音
拍明芯城b站
拍明芯城头条
拍明芯城微博
拍明芯城视频号
拍明
广告
恒捷广告
广告
深亚广告
广告
原厂直供
广告