flycamelaaa 发表于 2025-6-21 16:17

如何避免STM32C0 SysTick定时任务误差?

如何避免STM32C0 SysTick定时任务误差?

公羊子丹 发表于 2025-6-23 07:23

是不是用了 HAL_Delay 或 osDelay 这类函数?这些本身就有点误差。

周半梅 发表于 2025-6-23 07:24

如果系统里有高优先级中断,确实可能影响到 SysTick 的准确性。

帛灿灿 发表于 2025-6-23 07:25

你可以试试用TIM定时器替代SysTick,精度会更稳。

童雨竹 发表于 2025-6-23 07:26

定时误差一般是因为Tick时间不准,检查一下HCLK频率配置。

万图 发表于 2025-6-23 07:27

FreeRTOS下建议不要用SysTick当调度源,直接用TIM做系统时基。

Wordsworth 发表于 2025-6-23 07:28

有没有长时间关中断的操作?那样会导致SysTick中断延后。

Bblythe 发表于 2025-6-23 07:29

如果是用 HAL_GetTick() 这种函数,建议结合 DWT 或定时器做微调。

Pulitzer 发表于 2025-6-23 07:29

我用过C0系列,SysTick 配 1ms 会有点累积误差,调成TIM2后好了。

Uriah 发表于 2025-6-23 07:30

中断函数里别做太多事,越忙Tick越容易跑偏。

Clyde011 发表于 2025-6-23 07:31

如果对时间精度要求高,建议引入外部RTC或硬件时钟基准。

雾都浪漫 发表于 2025-7-5 22:08

使用外部晶振替代内部 RC;2. 配置 SysTick 使用 HCLK/8 分频;3. 避免在中断中执行耗时操作;4. 定期校准时间基准。

热爱浪漫 发表于 2025-7-29 15:59

配置精准系统时钟,避免中断阻塞,使用滴答定时器重载值计算补偿。
页: [1]
查看完整版本: 如何避免STM32C0 SysTick定时任务误差?