1 自帶的hal_delay 函式 毫秒級延遲
void hal_delay(__io uint32_t delay)
while((hal_gettick() - tickstart) < wait)
}
也可以配置為us延時,改變函式引數
配置方法:也可以配置為1us
// hal_rcc_gethclkfreq()/1000 1ms中斷一次,即hal_delay函式延時基準為1ms
// hal_rcc_gethclkfreq()/100000 10us中斷一次,即hal_delay函式延時基準為10us
// hal_rcc_gethclkfreq()/1000000 1us中斷一次,即hal_delay函式延時基準為1us
hal_systick_config(hal_rcc_gethclkfreq()/1000000); // 配置並啟動系統滴答定時器
2 中斷延時----利用定時器計時
int main(void)
}}void hal_tim_periodelapsedcallback(tim_handletypedef *htim)
3 優選方式------獲取系統時鐘計時,非阻塞式延時
void delay_ms(int32_t nms)
while((temp&0x01)&&(!(temp&(1<<16))));//等待時間到達
systick->ctrl=0x00; //關閉計數器
systick->val =0x00; //清空計數器
}
謝謝csdn大佬的博文,學習了!原作位址請點我 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 普通函式與 函式的區別 對普通函式的呼叫 呼叫程式發出對普通函式的呼叫後,程式執行立即轉向被呼叫函式執行,直到被呼叫函式執行完畢後,再返 用程式繼續執行。從發出呼叫的程式的角度看,這個過程為 呼叫 等待被呼叫函式執行完畢 繼續執行 對 函式呼叫 呼叫程式發出對 函式的呼叫後,不等函式執行完畢,立...
stm32HAL庫學習 UART學習筆記
一 串列埠輸出列印重定向printf,如下 int fputc int ch,file f hal uart transmit huart1,temp,1,1000 return ch int fgetc file f 用作程式除錯輸出時,可以使用一組巨集定義,方便開發完成後關閉printf 除錯日...