整理系統時(shí)鐘定時(shí)器--SysTick的應用
在STM32的應用中,使用Cortex-M3 內核的SysTick作為定時(shí)時(shí)鐘,設定每一毫秒產(chǎn)生一次中斷,在中斷處理函數里對N減一,在Delay(N)函數中循環(huán)檢測N是否為0,不為0則進(jìn)行循環(huán)等待;若為0則關(guān)閉SysTick時(shí)鐘,退出函數。
本文引用地址:http://dyxdggzs.com/article/201611/322078.htm外部晶振為8MHz,9倍頻,系統時(shí)鐘為72MHz,SysTick的最高頻率為9MHz(最大為HCLK/8),在這個(gè)條件下,把SysTick 效驗值設置成9000,將SysTick 時(shí)鐘設置為9MHz, 就能夠產(chǎn)生1ms的時(shí)間基值,即SysTick產(chǎn)生1ms的中斷。
延遲時(shí)間將不隨系統時(shí)鐘頻率改變。
固件庫(ST)中SysTick的相關(guān)函數:
1、SysTick_CounterCmd(
2、SysTick_ITConfig (
3、SysTick_CLKSourceConfig( ) //設置SysTick時(shí)鐘源。
4、SysTick_SetReload ( )
5、SysTick_GetCounter( )
6、SysTick_GetFlagStatus( ) //檢測測定的SysTick是否被標記
初始化相關(guān)模塊:
SysTick_CounterCmd(SysTick_Counter_Disable);
SysTick_ITConfig(DISABLE);
SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK_Div8);
中斷處理:
{
延時(shí)代碼:
}
應用代碼:
Delay(300); // 延時(shí) 300ms
評論