[STM32C0] C0用SysTick跑定时任务没准点

[复制链接]
 楼主| Wordsworth 发表于 2025-6-20 07:22 | 显示全部楼层 |阅读模式
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中设置标志位,复杂操作移至主循环。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

144

主题

5773

帖子

1

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