STM32如何配置HAL庫
時間:2024-01-10 來源:華清遠見
單片機庫在單片機開發中扮演著重要的角色,單片機庫提供了許多預定義的函數和數據類型,可以簡化單片機的編程過程,提高開發效率。同時單片機庫為單片機的各種外設提供了標準的接口,使得開發者可以更加方便地使用這些外設,而無需深入了解其內部細節。
單片機庫經過了嚴格的測試和驗證,具有一定的可靠性和穩定性。使用單片機庫也可以提高單片機的可靠性,減少因編程錯誤或硬件故障導致的系統崩潰或數據丟失。
目前ST庫主要包括以下幾種:
1、STM32Snippets:這是一個直接操作寄存器的庫,需要一定的開發功底,目前只在STM32F0和L0系列中有提供。
2、標準外設庫:這是用的最多的庫,因為幾乎全部使用C語言實現,但是現在慢慢不推了,但是還是很多人在用,不支持從STM32 L0、L4和F7開始的之后的STM32系列芯片。
3、HAL庫:HAL庫是為了取代之前的標準外設庫的。STM32Cube HAL庫表現出更高的抽象整合水平,可以很好的從一個STM32的平臺移植到另一款STM32的平臺上,但是這樣的應用場景其實很少,因為選定選型時候就是有考慮的,除非產品升級。目前,HAL庫是支持STM32全線產品的。
4、LL庫:LL庫可以獨立于HAL庫,也可以和HAL庫混合使用。某種程度上說:LL庫是對原來標準庫移植到Cube下的新的實現,LL庫更接近硬件層,是支持所有外設的。
使用ST官方的是桌面軟件STMCubeMX可以根據項目需求直接配置后生成外設庫文件程序,其中引用的是HAL庫和LL庫。使用STMCubeMX減少開發周期,但是對于用慣了標準庫的,還是有一定的學習成本的。
可以從ST官網 https//www.st.com/stm32cube下載軟件。下載好后根據提示進行安裝即可,下面我們使用STMCubeMX來生成一個HAL庫的USART工程文件。
1、軟件安裝完成后,點擊HELP選擇Updater Settings,配置固件存放的路徑,并將自動更新檢查關掉,如下圖所示。設置完成后點擊OK。


2、在Updater Settings選項下,點擊Connection Parameters,點擊NoProxy將代理關掉,如下圖所示。設置完成后點擊OK。

3、點擊File下的New Project新建工程,如下圖所示

4、選擇要使用的單片機型號。

這里我們以STM32F407IGT6為例,雙擊選擇對應單片機的型號。

5、選擇RCC,開啟外部高速時鐘。

6、選擇USART1串口,在mode下配置為異步模式,通信參數使用默認配置即可。

7、點擊Clock Configuration配置系統時鐘

8、點擊Project Manager對工程文件進行管理,點擊Code Generator將Generate peripheral initialization as a pair of ".c/.h' files per peripheral勾選,選項這樣可以獨立生成對應外設的初始化.h和.c 文件

9、在Project Manager下,點擊Project 可以修改工程名稱,存儲路徑、生產的軟件版本等信息,如圖所示。

10、生產完成后可以點擊Open Project打開工程。

至此全部配置完成。
通常直接配置HAL庫的情況相對較少。開發者會使用STM32CubeMX等圖形化配置工具來生成使用HAL庫的工程文件。這樣可以大大簡化配置過程,提高開發效率。

