systick系統(tǒng)定時器(systick系統(tǒng)定時器使用注意事項)

萍鄉(xiāng)花鳥魚蟲市場2024-10-28 07:15:011.71 K閱讀7評論
Systick系統(tǒng)定時器是Cortex-M3內(nèi)核中的一個外設(shè),也被嵌入在NVIC(嵌套向量中斷控制器)中,它是一個24位的向下遞減的計數(shù)器,每計數(shù)一次所需的時間為1/SYSTICK,即系統(tǒng)滴答定時器時鐘,它可以直接取自系統(tǒng)時鐘,還可以通過系統(tǒng)時鐘8分頻后獲取,當(dāng)定時器計數(shù)到0時,將從LOAD寄存器中自動重裝定時器初值,重新向下遞減計數(shù),如此循環(huán)往復(fù),如果開啟SysTick中斷的話,當(dāng)定時器計數(shù)到0,將產(chǎn)生一個中斷信號,Systick系統(tǒng)定時器的本質(zhì)是一個內(nèi)嵌在NVIC中的定時器,它是一個24位的向下遞減的計數(shù)器,每計數(shù)一次所需時間為1/SYST

systick系統(tǒng)定時器(systick系統(tǒng)定時器使用注意事項) 噴點菠蘿魚 第1張

Systick系統(tǒng)定時器

Systick系統(tǒng)定時器是Cortex-M3內(nèi)核中的一個外設(shè),也被嵌入在NVIC(嵌套向量中斷控制器)中。它是一個24位的向下遞減的計數(shù)器,每計數(shù)一次所需的時間為1/SYSTICK,即系統(tǒng)滴答定時器時鐘,它可以直接取自系統(tǒng)時鐘,還可以通過系統(tǒng)時鐘8分頻后獲取。當(dāng)定時器計數(shù)到0時,將從LOAD寄存器中自動重裝定時器初值,重新向下遞減計數(shù),如此循環(huán)往復(fù)。如果開啟SysTick中斷的話,當(dāng)定時器計數(shù)到0,將產(chǎn)生一個中斷信號。

工作原理

Systick系統(tǒng)定時器的本質(zhì)是一個內(nèi)嵌在NVIC中的定時器,它是一個24位的向下遞減的計數(shù)器,每計數(shù)一次所需時間為1/SYSTICK。當(dāng)定時器計數(shù)到0時,將從LOAD寄存器中自動重裝定時器初值,重新向下遞減計數(shù)。如果開啟SysTick中斷的話,當(dāng)定時器計數(shù)到0,將產(chǎn)生一個中斷信號。

應(yīng)用場景

Systick系統(tǒng)定時器常用來做延時任務(wù),在實時系統(tǒng)中,則常用來做系統(tǒng)時鐘。此外,它還被應(yīng)用于操作系統(tǒng)的節(jié)拍時鐘,用于產(chǎn)生時基,維持操作系統(tǒng)的心跳。

如何配置Systick

配置Systick系統(tǒng)定時器主要是通過配置其寄存器來實現(xiàn)。具體來說,需要配置的是LOAD寄存器,即設(shè)置定時器的重裝載值。這個值決定了定時器計數(shù)到0后何時再次產(chǎn)生中斷。另外,還需要配置的是CTRL寄存器,即設(shè)置定時器的時鐘源和是否使能定時器。

注意事項

在使用Systick時,需要注意的是,一旦啟用了SysTick,就需要處理好由此產(chǎn)生的中斷,否則可能會對系統(tǒng)的正常運行造成影響。此外,還需要注意的是,全局變量TimingDelay必須使用volatile,否則可能會被編譯器優(yōu)化。


systick系統(tǒng)定時器(systick系統(tǒng)定時器使用注意事項) 噴點菠蘿魚 第2張
systick系統(tǒng)定時器(systick系統(tǒng)定時器使用注意事項) 噴點菠蘿魚 第3張
systick系統(tǒng)定時器(systick系統(tǒng)定時器使用注意事項) 噴點菠蘿魚 第4張
文章版權(quán)聲明:本站文章來之全網(wǎng),如有雷同請聯(lián)系站長微信xlyc002 ,轉(zhuǎn)載或復(fù)制請以超鏈接形式并注明出處。

發(fā)表評論

快捷回復(fù):表情:
AddoilApplauseBadlaughBombCoffeeFabulousFacepalmFecesFrownHeyhaInsidiousKeepFightingNoProbPigHeadShockedSinistersmileSlapSocialSweatTolaughWatermelonWittyWowYeahYellowdog
評論列表 (有 7 條評論,1706人圍觀)

目錄[+]

取消
微信二維碼
微信二維碼
支付寶二維碼