[STM32G0] HAL_GetTick () 停止更新

[复制链接]
199|40
onlycook 发表于 2026-3-31 22:26 | 显示全部楼层
HAL_Init() 可能没正确初始化 SysTick,或者初始化顺序有问题。
进入猫次元 发表于 2026-3-31 22:53 | 显示全部楼层
你用的 HAL 库可能有 bug,特别是 HAL_GetTick() 和中断相关部分。去 ST 官网下个最新版 HAL 库,更新一下。
麻花油条 发表于 2026-3-31 22:53 | 显示全部楼层
可能在某个地方把 SysTick 中断关了,比如某些低功耗模式。检查代码,确保 SysTick 中断一直开着。
loutin 发表于 2026-4-3 11:22 | 显示全部楼层
阻塞读取是非常糟糕的设计。              
olivem55arlowe 发表于 2026-4-3 12:51 | 显示全部楼层

SPI操作是否占用过多CPU时间?
bestwell 发表于 2026-4-3 13:09 | 显示全部楼层
检查中断优先级设置              
hilahope 发表于 2026-4-3 13:29 | 显示全部楼层
HAL_GetTick() 暂停,uwTick 变量停止更新,根本原因只有一种可能:SysTick 中断被阻塞,没有得到执行。
cashrwood 发表于 2026-4-3 15:36 | 显示全部楼层
中断嵌套或中断使能问题              
burgessmaggie 发表于 2026-4-3 16:19 | 显示全部楼层
SysTick定时器的中断优先级默认为15,若TIM15_IRQHandler的优先级高于SysTick,且在TIM15_IRQHandler中执行耗时操作,可能导致SysTick中断无法按时触发,uwTick停止更新。
hearstnorman323 发表于 2026-4-3 16:50 | 显示全部楼层
SysTick定时器被意外关闭?
pixhw 发表于 2026-4-3 17:12 | 显示全部楼层
TIM15 中断优先级设置问题              
yorkbarney 发表于 2026-4-3 17:35 | 显示全部楼层
必须彻底清除所有中断标志,防止虚假触发。
sdCAD 发表于 2026-4-4 20:08 | 显示全部楼层
SysTick中断是否被意外屏蔽?
claretttt 发表于 2026-4-9 17:38 | 显示全部楼层
绝对不要在中断中进行长时间的阻塞通信。
belindagraham 发表于 2026-4-10 12:46 | 显示全部楼层
SysTick中断优先级必须高于TIM15。若TIM15优先级更高,会抢占SysTick中断,导致uwTick停止更新。
jonas222 发表于 2026-4-10 13:14 | 显示全部楼层
检查中断优先级设置中断优先级设置是否正确?
lzmm 发表于 2026-4-10 14:15 | 显示全部楼层
STM32 的 HAL 库中,uwTick变量是在 SysTick_Handler()​ 中断服务函数中递增的。
maqianqu 发表于 2026-4-10 14:36 | 显示全部楼层
SysTick未正确初始化或中断未使能,导致uwTick不更新。
timfordlare 发表于 2026-4-10 15:52 | 显示全部楼层
在调试器中添加 uwTick 变量监视窗口,观察其在 TIM15 中断触发时的增量变化。
geraldbetty 发表于 2026-4-10 17:14 | 显示全部楼层
SysTick中断被更高优先级中断抢占且未及时释放
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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