1:屬於Cortex內核的外設,內嵌在NVIC中
2:24位向下遞減的計數器
3:重裝載數據寄存器見到0時系統定時器就會產生一次中斷
4:僅僅只有4個寄存器來控制
來源於Cortex-M3權威指南
針對於上面所述的時鐘來源,參考時鐘數如下圖
時鐘樹
由上可以看出,時鐘源AHB/8或AHB



如下是利用系統定時器產生1us的設置
void delay_us(u32 uS){ //uS微秒級延時程序(參考值即是延時數,72MHz時最大值233015)
SysTick->LOAD=AHB_INPUT*uS; //重裝計數初值(當主頻是72MHz,72次為1微秒)
SysTick->VAL=0x00; //清空定時器的計數器
SysTick->CTRL=0x00000005;//時鐘源HCLK,打開定時器
while(!(SysTick->CTRL&0x00010000)); //等待計數到0,第16為倒數為0則會置位
SysTick->CTRL=0x00000004;//關閉定時器
}
注意其時鐘源是HCLK,但實際上是FCLK,因為其與AHB時鐘HCLK是相互連通的
原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/226691.html