Systick(系統)定時器
Systick定時器是一個簡單定時器,就是系統滴答定時器,可以用來做延時或者系統的心跳時鍾
Systick有兩個可選的時鍾源,一個是外部時鍾STCLK,等於HCLK/8,一個是內部時鍾HCLK
//使用外部時鍾 SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK_Div8);//使用外部時鍾,時鍾源為HCLK的8分頻 //例如外部晶振為8MHz,倍頻到72MHz,那么HCLK為72MHz,Systick時鍾為9MHz //也就是說,Systick的計數器VAL每減1,時間就過了1/9us
假若選擇HCLK,且HCLK頻率為72MHz的話,系統時鍾周期為1/(72M);systick有一個24位的遞減計數器
每個系統時鍾周期計數器值減一,那么當計數器減到零時,時間經過了:系統時鍾周期*計數器初值
當你將計數器初值設為72000時(有些例程里面設為71999,其實沒什么影響,誤差極小),當計數器值減到0時經過了1/(72M)*72000=0.001s,即1ms