當(dāng)前位置:首頁>職場>systick定時器工作原理(systick最長定時時間)
發(fā)布時間:2024-01-24閱讀(13)
1:屬于Cortex內(nèi)核的外設(shè),內(nèi)嵌在NVIC中
2:24位向下遞減的計數(shù)器
3:重裝載數(shù)據(jù)寄存器見到0時系統(tǒng)定時器就會產(chǎn)生一次中斷
4:僅僅只有4個寄存器來控制
來源于Cortex-M3權(quán)威指南
針對于上面所述的時鐘來源,參考時鐘數(shù)如下圖
時鐘樹
由上可以看出,時鐘源AHB/8或AHB



如下是利用系統(tǒng)定時器產(chǎn)生1us的設(shè)置
void delay_us(u32 uS){ //uS微秒級延時程序(參考值即是延時數(shù),72MHz時最大值233015)SysTick->LOAD=AHB_INPUT*uS; //重裝計數(shù)初值(當(dāng)主頻是72MHz,72次為1微秒)SysTick->VAL=0x00; //清空定時器的計數(shù)器SysTick->CTRL=0x00000005;//時鐘源HCLK,打開定時器while(!(SysTick->CTRL&0x00010000)); //等待計數(shù)到0,第16為倒數(shù)為0則會置位SysTick->CTRL=0x00000004;//關(guān)閉定時器}注意其時鐘源是HCLK,但實際上是FCLK,因為其與AHB時鐘HCLK是相互連通的
歡迎分享轉(zhuǎn)載→http://www.avcorse.com/read-252383.html
Copyright ? 2024 有趣生活 All Rights Reserve吉ICP備19000289號-5 TXT地圖HTML地圖XML地圖