终版
This commit is contained in:
@@ -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--)
|
||||
|
||||
Reference in New Issue
Block a user