SysTick主要應用延時函數(非常精確)
Cortex-M3的內核中包含了一個Systick,其爲24位遞減計數器,SysTick設定初值並使能後,每經過1個系統時鐘週期,計數值就減1,計數到0時,SysTick計數器自動重裝初值並繼續計數。同時內部的COUNTFLAG標誌位置位,觸發中斷(如果中斷使能情況下)
SysTick設置主要由四個寄存器構成
1、 STK_CSR:控制寄存器
a) 第0位:使能位;(0是關閉功能,對應1是打開)
b) 第1位:中斷使能位(0是關閉中斷,對應1是打開);
c) 第2位:時鐘源選擇(默認是0,即是8分頻,對應1是72MHz不變)
d) 第16位:COUNTFLAG標誌位。
2、 STK_LOAD:重載寄存器(定義:100,自動賦值到當前寄存器)
3、 STK_VAL :當前寄存器(初值,遞減到0)
4、 STK_CALRB:校準時寄存器
其中用到的分頻數越大,得到的頻率值越低。例如72MHz經過8分頻後變成9MHz;