[STM32L4] 如何配置 SysTick微妙级延时

[复制链接]
481|65
lihuami 发表于 2026-7-18 15:15 | 显示全部楼层
SysTick中断与轮询性能对比
beacherblack 发表于 2026-7-18 16:30 | 显示全部楼层
计数器是从 LOAD 值递减到 0,共经历 LOAD + 1 个时钟周期,所以需要减 1 进行修正。
linfelix 发表于 2026-7-18 16:53 | 显示全部楼层
获取SystemCoreClock,SysTick默认使用此频率。若使用内部RC振荡器,需先校准频率以确保延时精度。
hudi008 发表于 2026-7-18 17:40 | 显示全部楼层
HAL 项目里,SysTick 留给 HAL
tabmone 发表于 2026-7-18 18:06 | 显示全部楼层
SysTick 是一个 24 位向下计数器
robincotton 发表于 2026-7-18 18:28 | 显示全部楼层
STM32不同系列SysTick配置差异
dspmana 发表于 2026-7-18 19:34 | 显示全部楼层
延时函数中计算“1微秒需计数多少次”时,使用的频率与STM32CubeMX中配置的SysTick时钟源一致。
wilhelmina2 发表于 2026-7-18 20:00 | 显示全部楼层
轮询读取 SysTick->VAL 实现阻塞 us 延时
juliestephen 发表于 2026-7-18 20:54 | 显示全部楼层
如何提高SysTick延时精度
olivem55arlowe 发表于 2026-7-18 21:22 | 显示全部楼层
如何计算微秒对应的时钟周期?              
uptown 发表于 2026-7-18 21:58 | 显示全部楼层
延时过长可能导致计算出的ticks超出LOAD寄存器的最大值。例如72MHz下,单次最大约1.86秒
sesefadou 发表于 2026-7-19 10:27 | 显示全部楼层
若需毫秒级延时,可通过循环调用微秒延时函数实现。
jackcat 发表于 2026-7-19 11:47 | 显示全部楼层
若使用中断方式实现延时,注意SysTick中断优先级不应低于其他关键中断,以免影响延时精度或导致其他中断响应延迟。
bartonalfred 发表于 2026-7-19 12:38 | 显示全部楼层
延时函数中如何避免中断干扰?              
zerorobert 发表于 2026-7-19 13:17 | 显示全部楼层
需明确SysTick的时钟源。              
i1mcu 发表于 2026-7-19 14:03 | 显示全部楼层
配置时钟源的具体步骤是什么?              
21mengnan 发表于 2026-7-19 16:17 | 显示全部楼层
延时函数用查询 COUNTFLAG,如果打开中断,SysTick 中断会打断阻塞等待,延时完全失效。
线稿xg 发表于 2026-8-20 11:24 | 显示全部楼层
使用中断服务例程(ISR)完成必要处理,延迟函数中使用禁用中断的指令来保证执行时间。
星闪动力 发表于 2026-8-29 16:38 | 显示全部楼层
Systick是单片机内部计数器,用于软件延时;硬件定时器则由单片机外设实现,定时更准确,但需编程设置。区别主要在于准确度和编程复杂度。
天天向善 发表于 2026-7-24 22:48 | 显示全部楼层
在延时函数中,可以通过禁用中断或者使用中断服务例程(ISR)来避免中断干扰。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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