系統延時

//初始化相關的模塊
Systick_SetReload(9000); //設定systick達到1ms計數結束
Systick_ITconfig(ENABLE); //時能systick中斷

//中斷處理
void SystickHandler(void)
{
 if (TimingDelay != 0x00)        //TimingDelay定義爲volative的全局變量
 {
  TimingDelay--;
 }
}

//延時代碼
void Delay(int32u nTime)
{
 SysTickCounterCmd(SysTick_Counter_Enable);   //使能Systick;
 TimingDelay = nTime;   //讀取延時時間
 while (TimingDelay != 0)
 {
              //不做操作
 }
 SysTick_CounterCmd(SysTick_Counter_Disable);   //關閉systick
 SysTick_CounterCmd(SysTick_Counter_Clear);    //清除systick
 
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章