普通函數與回調函數的區別


普通函數與回調函數的區別:
對普通函數的調用:
調用程序發出對普通函數的調用后,程序執行立即轉向被調用函數執行,直到被調用函數執行完畢后,再返回調用程序繼續執行。從發出調用的程序的角度看,這個過程為“調用-->等待被調用函數執行完畢-->繼續執行”

 


對回調函數調用:
調用程序發出對回調函數的調用后,不等函數執行完畢,立即返回並繼續執行。這樣,調用程序執和被調用函數同時在執行。當被調函數執行完畢后,被調函數會反過來調用某個事先指定函數,以通知調用程序:函數調用結束。這個過程稱為回調(Callback),這正是回調函數名稱的由來。

 
回調函數與普通函數的區別在於調用者不同。普通函數的調用是直接或者間接由main函數發起的。回調函數由系統發起調用,與main函數無關。在STM32的HAL庫中,回調函數由中斷發起。實際上它們就是中斷處理函數。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM