This commit is contained in:
2026-05-21 08:07:16 +08:00
parent 90908cf018
commit 84d8874a38
32 changed files with 271 additions and 27 deletions
+5
View File
@@ -8,6 +8,7 @@ volatile uint32_t g_time_ms = 0;
/**
* @brief 初始化SysTick定时器,配置为1ms中断一次
*/
/* 函数作用:初始化 SysTick,使系统每 1ms 进入一次中断。 */
void Delay_Init(void)
{
// 配置SysTick为1ms中断一次。SystemCoreClock通常是72MHz。
@@ -22,6 +23,7 @@ void Delay_Init(void)
* @brief 获取自启动以来的毫秒数
* @retval 当前的毫秒时间戳
*/
/* 函数作用:返回系统启动以来累计的毫秒计数。 */
uint32_t Get_Time_ms(void)
{
return g_time_ms;
@@ -30,6 +32,7 @@ uint32_t Get_Time_ms(void)
// --- 以下是你原本就有的阻塞式延时函数,保持不变 ---
/* 函数作用:使用 SysTick 实现微秒级阻塞延时。 */
void Delay_us(uint32_t xus)
{
SysTick->LOAD = 72 * xus;
@@ -39,6 +42,7 @@ void Delay_us(uint32_t xus)
SysTick->CTRL = 0x00000004;
}
/* 函数作用:基于毫秒 tick 实现毫秒级阻塞延时。 */
void Delay_ms(uint32_t xms)
{
// 使用SysTick计时器实现精确延时
@@ -48,6 +52,7 @@ void Delay_ms(uint32_t xms)
}
}
/* 函数作用:通过循环调用毫秒延时实现秒级阻塞延时。 */
void Delay_s(uint32_t xs)
{
while(xs--)