Wordsworth
发表于 2025-6-20 07:22
C0用SysTick跑定时任务没准点
1ms跑着跑着就有误差,定时任务对不上了,不知道哪出了问题。
Clyde011
发表于 2025-6-20 07:27
任务太多会影响定时精度,注意一下主循环时间。
公羊子丹
发表于 2025-6-20 07:28
用TIM定时器会更准一点。
周半梅
发表于 2025-6-20 07:29
SysTick在跑中断多时确实不准。
帛灿灿
发表于 2025-6-20 07:30
优先级没设好也可能导致抖动。
童雨竹
发表于 2025-6-20 07:31
你有没有开RTOS?抢占会影响。
万图
发表于 2025-6-20 07:32
建议SysTick中断里只设置标志位。
Wordsworth
发表于 2025-6-20 07:33
改成TIM中断处理效率提升不少。
Bblythe
发表于 2025-6-20 07:34
看是不是中断响应被卡住了。
Pulitzer
发表于 2025-6-20 07:35
我每次任务开始都打印一次时间对比。
Uriah
发表于 2025-6-20 07:36
SysTick默认是1ms,改成更细粒度试试。
jcky001
发表于 2025-6-20 16:12
SysTick时钟源不稳定?
elephant00
发表于 2025-6-20 16:13
高优先级中断频繁触发,导致SysTick中断被延迟。
classroom
发表于 2025-6-20 16:59
在CubeMX中配置SysTick优先级为最高,不被其他中断打断。
cr315
发表于 2025-6-20 17:12
是否是中断处理耗时过长?
cr315
发表于 2025-6-20 17:12
是否是中断处理耗时过长?
flycamelaaa
发表于 2025-6-20 19:14
未使用volatile修饰全局变量,导致编译器优化后变量更新不及时。
powerantone
发表于 2025-6-20 20:14
系统负载过高?
stormwind123
发表于 2025-6-20 22:15
若内核时钟由内部RC振荡器提供,建议切换为外部晶振提高稳定性。
probedog
发表于 2025-6-20 23:15
精简ISR代码,仅在ISR中设置标志位,复杂操作移至主循环。
页:
[1]