STM32學習手記⑤-SysTick精確延時 作者: 時間:2016-11-29 來源:網(wǎng)絡 加入技術交流群 掃碼加入和技術大咖面對面交流海量資料庫查詢 收藏 ************************************************************/void SysTick_Configuration( ){SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK_Div8); //選擇HCLK/8時鐘作為SysTick時鐘,9MHzSysTick_SetReload(9000); //計數(shù)9000次為1msSysTick_ITConfig(ENABLE); //打開中斷}/************************************************ 函數(shù)名稱 :Delay* 功能描述 : 精確延時函數(shù)* 參數(shù) : nTime* 返回值 : 無* 全局變量 : TimingDelay* 全局靜態(tài)變量: 無* 局部靜態(tài)變量: 無****************************************************/void Delay(u32 nTime) {SysTick_CounterCmd(SysTick_Counter_Enable); //打開SysTick計數(shù)器TimingDelay = nTime;while(TimingDelay != 0);SysTick_CounterCmd(SysTick_Counter_Disable); //關閉計數(shù)器SysTick_CounterCmd(SysTick_Counter_Clear); //清空計數(shù)器} /********************************************* 函數(shù)名稱 :main()* 功能描述 : 主函數(shù)* 參數(shù) : 無* 返回值 : 無* 全局變量 : 無* 全局靜態(tài)變量: 無* 局部靜態(tài)變量: 無**********************************************/int main(){RCC_Configuration();GPIO_Configuration();NVIC_Configuration( );SysTick_Configuration( );//EXTI_Configuration( );while(1){GPIO_SetBits(GPIOE,GPIO_Pin_0);Delay(1000);GPIO_ResetBits(GPIOE,GPIO_Pin_0);Delay(1000);} }//中斷函數(shù)在 stm32f10x_it.c 里面void SysTickHandler(void){TimingDelay--; } 上一頁 1 2 3 下一頁
評論