關(guān)于系統(tǒng)滴答定時器的信息
溫馨提示:這篇文章已超過694天沒有更新,請注意相關(guān)的內(nèi)容是否還可用!
stm32在中斷處理中只能同時處理一個中斷。你說你在你的延時函數(shù)中使用了systemtick,在你EXTI0_1_IRQHandler執(zhí)行的時候,systemtick的中斷處理不能執(zhí)行。你的系統(tǒng)計時也不會增加,就導(dǎo)致你的延時函數(shù)永遠(yuǎn)等不到結(jié)束。如果你一定要延時的話,可以使用空循環(huán)。系統(tǒng)滴答定時器不是默認(rèn)打開的。根據(jù)查詢相關(guān)公開資料信息顯示,系統(tǒng)定時器又稱為滴答定時器,常用來為系統(tǒng)提供基準(zhǔn)時鐘,用于判斷當(dāng)前運行時間,也能用來自定義延時函數(shù),系統(tǒng)默認(rèn)是不開啟系統(tǒng)定時器,要自行開啟。
本文目錄一覽:
stm32關(guān)于系統(tǒng)滴答定時器(systick)
你在中斷處理函數(shù)中調(diào)用延時函數(shù)。是可以的。關(guān)鍵這個延時函數(shù)不可以使用到別的中斷。stm32在中斷處理中只能同時處理一個中斷。如果該中斷不處理完。即使有別的高級別中斷產(chǎn)生也不會執(zhí)行處理函數(shù)。你說你在你的延時函數(shù)中使用了systemtick,在你EXTI0_1_IRQHandler執(zhí)行的時候,systemtick的中斷處理不能執(zhí)行。你的系統(tǒng)計時也不會增加,就導(dǎo)致你的延時函數(shù)永遠(yuǎn)等不到結(jié)束。如果你一定要延時的話,可以使用空循環(huán)。
系統(tǒng)滴答定時器是默認(rèn)打開的
系統(tǒng)滴答定時器不是默認(rèn)打開的。根據(jù)查詢相關(guān)公開資料信息顯示,系統(tǒng)定時器又稱為滴答定時器,常用來為系統(tǒng)提供基準(zhǔn)時鐘,用于判斷當(dāng)前運行時間,也能用來自定義延時函數(shù),系統(tǒng)默認(rèn)是不開啟系統(tǒng)定時器,要自行開啟。
STM32怎么用庫函數(shù)使用滴答定時器?
直接調(diào)用庫函數(shù)systick_config(uint32_t
ticks)這一句就可以系統(tǒng)滴答定時器,比如調(diào)用函數(shù):
systick_config(1000);后系統(tǒng)滴答定時器,系統(tǒng)每隔1000個系統(tǒng)時鐘脈沖就進入系統(tǒng)滴答定時器中斷系統(tǒng)滴答定時器:
void
systick_handler(void)
{
}
然后就在中斷函數(shù)里邊寫系統(tǒng)滴答定時器你想做系統(tǒng)滴答定時器的事情吧。
發(fā)表評論
還沒有評論,來說兩句吧...