你知道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。
![](https://news.xinpengboligang.com/upload/keji/3d27a819a4c19e7f5e2e4e4f298abad4.jpeg)
![](https://news.xinpengboligang.com/upload/keji/daa805d1d5d700b4f3c418fe3b54b7f9.jpeg)
2)在UpdaterSettings選項下,點擊ConnectionParameters,點擊NoProxy將代理關掉,如下圖所示。設置完成後點擊OK。
![](https://news.xinpengboligang.com/upload/keji/d9e3634fb47326146e979926826dd3b5.jpeg)
3)點擊File下的NewProject新建工程,如下圖所示。
![](https://news.xinpengboligang.com/upload/keji/0329b456b052a2cb1590f835f3ace053.jpeg)
4)選擇要使用的單片機型號。
![](https://news.xinpengboligang.com/upload/keji/a395e8d129845d12f131cec230c59e73.jpeg)
這裡我們以STM32F407IGT6為例,雙擊選擇對應單片機的型號。
![](https://news.xinpengboligang.com/upload/keji/4ecbdfba27e3ef2cd1c6b81a35b1dcb0.jpeg)
5)選擇RCC,開啟外部高速時鐘。
![](https://news.xinpengboligang.com/upload/keji/b23d459fdd12077c16a5d6e5cb825012.jpeg)
6)選擇USART1串口,在mode下配置為異步模式,通信參數使用默認配置即可。
![](https://news.xinpengboligang.com/upload/keji/9fd3f671ce0d2e8a7e7be9a8d7b31662.jpeg)
7)點擊ClockConfiguration配置系統時鐘。
![](https://news.xinpengboligang.com/upload/keji/5411c363af093113403d61fa7ca1e0b0.jpeg)
8)點擊ProjectManager對工程文件進行管理
· 點擊CodeGenerator
· 將
Generateperipheralinitializationasapairof
".c/.h'files perperipheral勾選選項這樣可以獨立生成對應外設的初始化.h和.c文件。
![](https://news.xinpengboligang.com/upload/keji/c40b68f10cf7e40a76b0d0e9d62e89b7.jpeg)
9)在ProjectManager下,點擊Project可以修改工程名稱、存儲路徑、生產的軟件版本等信息,如圖所示。
![](https://news.xinpengboligang.com/upload/keji/b63d62f259cea251353d22f1958db353.jpeg)
10)生產完成後可以點擊OpenProject打開工程。
![](https://news.xinpengboligang.com/upload/keji/cfbe34aa2df3cec98599d77bdeef2941.jpeg)
至此全部配置完成。
直接配置HAL庫的情況相對較少,開發者會使用STM32CubeMX等圖形化配置工具來生成使用HAL庫的工程文件。這樣可以大大簡化配置過程,提高開發效率。