STM32 HAL庫 Systick使用筆記

2021-10-03 23:52:46 字數 792 閱讀 9019

一、systick 在hal庫中作用:

1.外設驅動程式的超時判斷;

2.hal_delay()函式的時基;

在cube生成的**中,main函式中hal_rcc_clockconfig();初始化系統時鐘的時候systick被初始化。

初始化時,cube預設設定systick中斷優先順序為最高優先順序,中斷週期由函式hal_systick_config(systemcoreclock / (1000u / uwtickfreq)確定,預設值為1ms。

中斷頻率可以通過修改hal_tick_freq_default引數修改,hal.h中給出10hz,100hz,1khz,三種選項。

如果需要更高頻率,可以將hal_systick_config(systemcoreclock / (1000u / uwtickfreq)引數中的1000調大實現。該函式可以在hal.c中找到。

二、使用時的注意事項

1.需要注意的是,調高systick的中斷頻率會導致系統頻繁中斷,應該**效率,實際應用中不建議將systick設定的過高。

如需快於1ms的時間基準,建議再開乙個定時器,通過讀取timx->cnt來獲取。

2.在使用者的其他中斷中使用hal_delay(),如果遇到延時跳不出的情況,檢查使用者中斷優先順序,建議使用者中斷優先順序設定盡可能的低。

STM32 HAL庫學習筆記

1 系統時鐘 一般用stm32cube生成,使用者只需要會用stm32cube就行。2 gpio輸出void led gpio config void 3 gpio輸入void key gpio config void 4 外部中斷void exti key config void void ext...

STM32 HAL庫學習筆記

1 普通函式與 函式的區別 對普通函式的呼叫 呼叫程式發出對普通函式的呼叫後,程式執行立即轉向被呼叫函式執行,直到被呼叫函式執行完畢後,再返 用程式繼續執行。從發出呼叫的程式的角度看,這個過程為 呼叫 等待被呼叫函式執行完畢 繼續執行 對 函式呼叫 呼叫程式發出對 函式的呼叫後,不等函式執行完畢,立...

STM32 HAL庫 韌體庫 公升級

1 使用官方提供的新功能。2 上個版本有bug,下個版本bug解決了的情況是可能的。不過,上個版本沒bug,下個版本有bug的情況是有的 微小概率事件 開啟 stm32h7xx.h ctrl f搜尋 version 1 通過官網獲取最新hal庫 1 2keil官網經常會卡著顯示不了後續內容,這時可以...