|
1:時(shí)鐘源
systick 時(shí)鐘源
systick 時(shí)鐘源是sysclk的8分頻 = 72M / 8 = 9MHz
2:1us對(duì)應(yīng)計(jì)數(shù)值
9MHz~1,000,000us
9~1us
9000~1ms
3:實(shí)現(xiàn)過(guò)程
SysTick->LOAD存放計(jì)數(shù)值
SysTick->VAL計(jì)數(shù)
SysTick->CTRL |=SysTick_CTRL_ENABLE_Msk ; //啟動(dòng)計(jì)數(shù)器
當(dāng)VAL值>=LOAD值,置位CTRL寄存器COUNT_FLAG,報(bào)告MCU延時(shí)時(shí)間已到。
4:可以,使用systick做延時(shí)函數(shù),是采用定時(shí)器軟延時(shí)實(shí)現(xiàn)的
5:延時(shí)的時(shí)間長(zhǎng)度nms<=1864?
VAL是24bit寄存器。
在72M條件下,0xFFFFFF = 16777215;16777215/9 = 1864135us;所以延時(shí)時(shí)間長(zhǎng)度會(huì)小于1.864s
|
|