1. 程式人生 > >STM32 SysTick 精準延時 簡單分析

STM32 SysTick 精準延時 簡單分析


//if (SysTick_Config(SystemCoreClock / 1000000*a))//寫初值---- ST3.0.0庫版本
if (SysTick_Config(SystemCoreClock / 1000000*a))  //寫初值----ST3.5.0庫版本

        while (1);   //寫初值失敗---則進入while死迴圈
}
        SysTick->CTRL &= ~ SysTick_CTRL_ENABLE_Msk;  //關閉系統滴答時鐘
}
----第二部分是---延時函式----
void Delay_us(__IO u32 nTime)

        TimingDelay = nTime;//多少個基礎節拍
        SysTick_Init(1);  //1us
        SysTick->CTRL |=  SysTick_CTRL_ENABLE_Msk
;  //使能系統滴答時鐘---開始計時

        while(TimingDelay != 0);  //定時節拍結束
}