[STM32F1] 定时器实现微秒延时(us)函数

[复制链接]
averyleigh 发表于 2024-6-8 22:31 | 显示全部楼层
需要配置定时器的计数器模式,如向上计数或向下计数。
minzisc 发表于 2024-6-9 10:08 | 显示全部楼层
在使用微秒延时函数时,需要注意延时嵌套的问题。
ulystronglll 发表于 2024-6-9 17:58 | 显示全部楼层
对于微秒级别的延时,通常使用高级定时器
xuanhuanzi 发表于 2024-6-9 18:08 | 显示全部楼层
自带的那个函数是毫秒级的。
xuanhuanzi 发表于 2024-6-9 18:08 | 显示全部楼层
其实可以修改一下,成为微秒级的
jkl21 发表于 2024-6-9 21:24 | 显示全部楼层
为了提高代码的效率和可读性,应当对延时函数进行优化,减少不必要的计算和判断。
1988020566 发表于 2024-6-10 14:20 | 显示全部楼层
STM32的CPU时钟频率和定时器的预分频器、自动重载值(ARR)等因素都会影响定时精度。
pentruman 发表于 2024-6-10 17:39 | 显示全部楼层
需要确保延时函数的实现与系统其他部分兼容,尤其是中断和任务调度。
gouguoccc 发表于 2024-6-10 17:48 来自手机 | 显示全部楼层
用定时器可以实现精确延时
primojones 发表于 2024-6-10 22:33 | 显示全部楼层
为了获得更精确的定时,可以通过设置定时器的预分频器和分频器来调整定时器时钟源的频率。
dspmana 发表于 2024-6-11 16:04 | 显示全部楼层
实际应用中可能受到系统抖动的影响。如果系统在执行延时函数时被打断,可能导致实际的延时比期望的长。
youtome 发表于 2024-6-11 20:00 | 显示全部楼层
根据系统时钟的频率和定时器的配置计算出准确的延时时间。使用延时函数时,确保每次调用延时函数时,系统时钟和定时器配置没有发生变化。
hearstnorman323 发表于 2024-6-12 12:13 | 显示全部楼层
STM32有多个定时器,如TIM1、TIM2、TIM3等,具有不同的频率和特性。
jkl21 发表于 2024-6-12 16:26 | 显示全部楼层
使用定时器的连续递增模式而非中断模式来实现延时,可以减少中断响应的开销和复杂性
maudlu 发表于 2024-6-13 21:04 | 显示全部楼层
定时器的时钟源可以是内部时钟(如APB1或APB2时钟)、外部时钟或内部其他定时器的输出时钟。选择合适的时钟源可以确保定时器的计数频率与预期的延时精度相匹配。
eefas 发表于 2024-6-14 11:56 | 显示全部楼层
TIM1、TIM2、TIM3等高级定时器具有更高的计数器分辨率和更高的计数器最大值,更适合用于微秒延时。
wwppd 发表于 2024-6-14 15:39 | 显示全部楼层
配置定时器以使用合适的时钟源。通常,这将是系统时钟的一个分频,例如APB1或APB2分频器。
设置定时器的计数模式(向上、向下、中心对齐等)以及溢出行为。
确定定时器的计数器大小(16位或32位),并据此配置计数器的最大值(计数器溢出值)。
LinkMe 发表于 2024-6-14 18:13 | 显示全部楼层
对于微秒延迟,通常使用高级计时器
adolphcocker 发表于 2024-6-14 22:09 | 显示全部楼层
如果在延时期间需要执行其他任务,则可以考虑使用中断来完成延时,并在中断服务程序中递减计数器。
或者,如果延时期间不需要执行其他任务,则可以简单地轮询计数器的值,直到它到达零。
earlmax 发表于 2024-6-15 14:54 | 显示全部楼层
定时器的时钟源通常是系统时钟的分频或者直接来自APB1或APB2总线时钟
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部