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


評論