新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > STM32學(xué)習(xí)手記⑤-SysTick精確延時(shí)

STM32學(xué)習(xí)手記⑤-SysTick精確延時(shí)

作者: 時(shí)間:2016-11-29 來(lái)源:網(wǎng)絡(luò) 收藏
************************************************************/void SysTick_Configuration( ){SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK_Div8); //選擇HCLK/8時(shí)鐘作為SysTick時(shí)鐘,9MHzSysTick_SetReload(9000); //計(jì)數(shù)9000次為1msSysTick_ITConfig(ENABLE); //打開(kāi)中斷}/************************************************ 函數(shù)名稱(chēng) :Delay* 功能描述 : 精確延時(shí)函數(shù)* 參數(shù) : nTime* 返回值 : 無(wú)* 全局變量 : TimingDelay* 全局靜態(tài)變量: 無(wú)* 局部靜態(tài)變量: 無(wú)****************************************************/void Delay(u32 nTime) {SysTick_CounterCmd(SysTick_Counter_Enable); //打開(kāi)SysTick計(jì)數(shù)器TimingDelay = nTime;while(TimingDelay != 0);SysTick_CounterCmd(SysTick_Counter_Disable); //關(guān)閉計(jì)數(shù)器SysTick_CounterCmd(SysTick_Counter_Clear); //清空計(jì)數(shù)器} /********************************************* 函數(shù)名稱(chēng) :main()* 功能描述 : 主函數(shù)* 參數(shù) : 無(wú)* 返回值 : 無(wú)* 全局變量 : 無(wú)* 全局靜態(tài)變量: 無(wú)* 局部靜態(tài)變量: 無(wú)**********************************************/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--; }
上一頁(yè) 1 2 3 下一頁(yè)

評(píng)論


技術(shù)專(zhuān)區(qū)

關(guān)閉