CM3 核心處理器內建 SysTick 定時器,時鐘源自 HCLK 8 分頻(8 個系統時鐘週期 SysTick 加 1,即 8 × 1/72M = 1/9 μs)。SysTick 為 24 位遞減計數器,歸零時從 RELOAD 寄存器自動重載初值。只要不清除控制暨狀態寄存器的使能位,將持續運作。
在 uC/OS 等系統下 SysTick 被佔用,若仍需 delay_us/delay_ms,可採用「時鐘摘取法」。以 delay_us(50) 為例:
本質上不改變 SysTick 基本單位時長,以基本單位為元件做多次摘取。