国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

STM32 - 利用 SysTick 實現(xiàn)非中斷式延時函數(shù)

2023-03-16 15:09 作者:山路旁的輝翎  | 我要投稿

SysTick 是 Cortex-M 系列內(nèi)核中普遍存在的系統(tǒng)定時器,共 24 位(高 8 位保留),通過不斷遞減進(jìn)行計數(shù),到達(dá) 0 時將?SYST_CSR 的 COUNTFLAG?標(biāo)志位置?1 并根據(jù) TICKINT 標(biāo)志位決定是否產(chǎn)生內(nèi)核中斷。

因此,利用 SysTick 實現(xiàn)延時函數(shù)就分為中斷式和非中斷式兩種。前者容易產(chǎn)生優(yōu)先級沖突,也不適合在中斷函數(shù)中調(diào)用;這里選擇的是后者,直接對寄存器進(jìn)行操作和查詢。需要注意的是,使用 FreeRTOS 等實時操作系統(tǒng)時,修改?SysTick 會影響系統(tǒng)時鐘,建議采用軟件延時或使用其他定時器。

代碼部分如下(包含 SysTickDelay.c?以及 SysTickDelay.h):

延時函數(shù)的準(zhǔn)確性依賴于 SYSCLK,這里使用的是 STM32F1?系列單片機(jī),因此 SYSCLK 頻率設(shè)置為 72 MHz。若使用 STM32F4 系列,則需修改 SysTickDelay.c

其他代碼主要用于操作寄存器,具體信息如下:

SysTick 相關(guān)寄存器

更多內(nèi)容參見?ARM 官網(wǎng):https://developer.arm.com/documentation/dui0552/a/cortex-m3-peripherals/system-timer--systick

隨便寫的代碼,還能進(jìn)一步優(yōu)化(主要是為了把文件存檔,方便日后參考)。

STM32 - 利用 SysTick 實現(xiàn)非中斷式延時函數(shù)的評論 (共 條)

分享到微博請遵守國家法律
抚松县| 宜兰县| 绥江县| 遂溪县| 焦作市| 桐乡市| 石家庄市| 榆树市| 洛浦县| 玛沁县| 永州市| 无锡市| 日土县| 南安市| 和田市| 井陉县| 会同县| 乌兰浩特市| 乳山市| 酉阳| 广德县| 张掖市| 缙云县| 马关县| 盘锦市| 资源县| 大同市| 洛阳市| 宝鸡市| 巴林右旗| 巴青县| 通道| 雷山县| 天镇县| 中宁县| 屯留县| 玉环县| 关岭| 天镇县| 大姚县| 武功县|