一文讀懂,STM32究竟該如何配置HAL庫!

2024年2月6日 20点热度 0人点赞

你知道STM32該如何配置HAL庫嗎?

單片機庫在單片機開發中扮演著重要的角色,單片機庫提供了許多預定義的函數和數據類型,可以簡化單片機的編程過程,提高開發效率。

同時單片機庫為單片機的各種外設提供了標準的接口,使得開發者可以更加方便地使用這些外設,而無需深入了解其內部細節。單片機庫經過了嚴格的測試和驗證,具有一定的可靠性和穩定性。

目前ST庫主要包括以下幾種

01 STM32Snippets

這是一個直接操作寄存器的庫,需要一定的開發功底,目前隻在STM32F0和L0系列中有提供。

02 標準外設庫

這是用的最多的庫,因為幾乎全部使用C語言實現,但是現在慢慢不推了,但是還是很多人在用,不支持從STM32L0、L4和F7開始的之後的STM32系列芯片。

03 HAL庫

HAL庫是為了取代之前的標準外設庫的。STM32CubeHAL庫表現出更高的抽象整合水平,可以很好的從一個STM32的平臺移植到另一款STM32的平臺上,但是這樣的應用場景其實很少,因為選定選型時候就是有考慮的,除非產品升級。目前,HAL庫是支持STM32全線產品的。

04 LL庫

LL庫可以獨立於HAL庫,也可以和HAL庫混合使用。某種程度上說:LL庫是對原來標準庫移植到Cube下的新的實現,LL庫更接近硬件層,是支持所有外設的。

使用ST官方的是桌面軟件STMCubeMX可以根據項目需求直接配置後生成外設庫文件程序,其中引用的是HAL庫和LL庫。使用STMCubeMX減少開發周期,但是對於用慣了標準庫的,還是有一定的學習成本的。

可以從ST官網:


https//www.st.com/stm32cube下載軟件,下載好後根據提示進行安裝即可。

下面我們使用STMCubeMX來生成一個HAL庫的USART工程文件:

1)軟件安裝完成後,點擊HELP選擇UpdaterSettings,配置固件存放的路徑,並將自動更新檢查關掉,如下圖所示。設置完成後點擊OK。

2)在UpdaterSettings選項下,點擊ConnectionParameters,點擊NoProxy將代理關掉,如下圖所示。設置完成後點擊OK。

3)點擊File下的NewProject新建工程,如下圖所示。

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

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

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

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

7)點擊ClockConfiguration配置系統時鐘。

8)點擊ProjectManager對工程文件進行管理

· 點擊CodeGenerator

· 將
Generateperipheralinitializationasapairof

".c/.h'files perperipheral勾選選項這樣可以獨立生成對應外設的初始化.h和.c文件。

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

10)生產完成後可以點擊OpenProject打開工程。

至此全部配置完成。

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