// 初始化SysTick定时器
void SysTick_Init(void) {
SystemCoreClockUpdate(); // 更新系统时钟
SysTick_Config(SystemCoreClock / 1000); // 设置每毫秒中断一次
}
// 毫秒级延时
void Delay_ms(uint32_t milliseconds) {
uint32_t start = SysTick->VAL;
uint32_t delayTicks = milliseconds * (SystemCoreClock / 1000);
while ((SysTick->VAL - start) < delayTicks) {
// 等待SysTick定时器达到指定延时
}
} |