STM32單片機
STM32和51單片機的區別
51單片機的外設資源少,寄存器少,運行速度慢,價格便宜,容易上手
STM32單片機的外設資源更多,寄存器多,運行速度相對快,價格相對貴,上手相對較難
STM32的寄存器寄存器非常多,更復雜,一般用庫函數進行編程,也就是API接口,這是與51單片機編程時最大的區別
寄存器編程與庫函數編程:
寄存器編程是直接操作寄存器的編程
庫函數編程相當于是間接的寄存器編程,就是把寄存器的參數和配置封裝成函數,可以調用函數進行外設初始化,廠家封裝提供好的,只需要去操作廠家提供的函數,去初始化對應的一些外設,就可以完成對芯片的一些資源的使用
寄存器編程(直接對寄存器進行操作,是最接近底層的編程方式,也是運行效率最高的)
庫函數編程(代碼更好維護,開發過程更快,可移植能力強)
ST提供的3種庫函數編程方式:標準庫、HAL庫、LL庫
其中標準庫是最早的,已經停止維護了,現在更多使用HAL庫,LL庫的效率更高,在特殊情況下使用,CubeMX現在里面只有HAL庫和LL庫
HAL庫的優點:
最大可移植性
2.提供了一整套一致的中間件組件,如RTOS,USB,TCP/IP和圖形等
3.通用的用戶友好的API函數接口
4.HAL庫已經支持STM32全線產品
學習STM32所需要軟件:
Keil MDK用于編寫代碼,編譯代碼(與之前51單片機用的不同)
STM32CubeMX用于自動生成工程,減少手動重復工作
vscode用于更高效地編寫代碼