zzYuanWai的博客,hal庫

stm32單片機編程用庫函數好還是寄存器好?

zzYuanWai的博客,hal庫


這個問題從兩方面來說:如果希望快速開發出來項目的話,用庫函數開發;如果希望學精、學透單片機原理的話,用寄存器開發 。一、從開發時間快慢來說,用庫函數現在公司開發一個項目的話,都會對時間進度有很高的要求,一般都會要求快速高效的把產品做出來,而不管你用那種方式,只要保證產品的質量就行 。在這種情況下,就必須找一種能夠快速開發的途徑,而庫函數正是基于這種原因創建的 。
芯片公司為了幫助產品工程師降低開發難度、加快開發進度,推出了各種庫函數,這些庫函數都是由專業程序設計人員編寫的,無論從代碼的穩定性、規范性、正確性方面來說,都是經過芯片廠家反復驗證的,完全可以直接拿來就用 。當然,用庫函數有一定的缺陷,例如會導致代碼量增大,影響程序運行速度等,但是現在stm32單片機的程序空間一般都足夠大,并且每一系列里面都有pin-to-pin的型號可以互換,如果程序空間不夠,直接替換另一個管腳兼容的,程序空間更大的即可,程序直接移植過來,幾乎不用修改 。
stm32是用hal庫,還是標準庫?懂行的介紹一下?
zzYuanWai的博客,hal庫


最開始在大學我學習stm32 的時候最早是使用寄存器來開發的 。當我把所有寄存器的例程跑了一遍以后,就又使用標準庫再把之前的例程再學習了一遍,之后再也沒有用過純寄存器開發的 。為什么?因為沒有機會了,這時候我已經畢業了 。在公司開始做項目,項目的緊迫性已經不再是以你學習實踐為目的,而是更快更高質量的完成項目開發工作,把產品推向市場 。
【zzYuanWai的博客,hal庫】再后來STM32出的型號越來越多,st為了把所有型號的庫使用統一的接口并且方便后續維護退出了STM32HAL庫和STM32LL庫 。這兩種庫都可以基于STM32CUBEMX圖形化配置以后直接生成工程 。而標準庫ST也不會再維護更新所以很明顯最好就是使用ST最新的HAL庫或者LL庫 。有的人可能會說HAL庫效率不高,我還是用標準庫吧,沒錯HAL是沒有標準庫效率高 。

    推薦閱讀