網(wǎng)站建設(shè) 軟文微信營銷案例
概念
筆者下面需要介紹的是庫寄存器和HAL庫兩個重要的概念,在各位看完之后,需要決定自己的學(xué)習(xí)路線到底是學(xué)習(xí)HAL呢?還是寄存器呢?還是兩者都學(xué)習(xí)呢?
庫寄存器
庫寄存器就是簡單的封裝了我們對寄存器的操作,至少,不用咔咔訪問結(jié)構(gòu)體去嗯改里面的數(shù)據(jù),否則開發(fā)效率會低到發(fā)指。
庫寄存器的特征如下:
-
低層級:直接操作硬件寄存器,代碼與硬件緊密相關(guān)。
-
高效:由于直接操作寄存器,代碼執(zhí)行效率高,資源占用少。
-
靈活性:我們可以完全控制硬件的每一個細節(jié)。但是代價是 —— 需要深入了解硬件手冊和寄存器配置,開發(fā)難度較大。
-
可移植性差:代碼高度依賴特定硬件,移植到其他平臺時需大量修改。
庫寄存器的優(yōu)秀的教學(xué)視頻自然就屬于江科大了STM32入門教程-2023版 細致講解 中文字幕嗶哩嗶哩bilibili
HAL庫
HAL庫是STMicroelectronics為STM32系列微控制器提供的一個硬件抽象層庫。使用HAL庫可以讓我們無縫的移植代碼到其他ST家的平臺上,它封裝了底層寄存器的操作,提供了統(tǒng)一的API接口,簡化了開發(fā)過程。
-
高層級:通過API接口操作硬件,開發(fā)者無需直接操作寄存器。
-
易用性:提供了豐富的函數(shù)庫,簡化了外設(shè)的配置和控制。
-
可移植性:代碼在不同STM32系列間的移植性較好。
-
效率較低:由于增加了抽象層,代碼執(zhí)行效率相對較低,資源占用較多。
-
開發(fā)速度快:適合快速開發(fā)和原型設(shè)計。
HAL庫的教程,筆者建議是Keysking的教程,他的教學(xué)非常的頂層,基本原理是使用動畫演示,非常的直觀:
【STM32入門教程-2024】第2集 點燈大師 點亮你的第一顆小燈 | keysking的stm32教程嗶哩嗶哩bilibili
當然,其他的開發(fā)板的供應(yīng)商,比如說野火/正點原子的視頻也是不錯的,這里就自行搜索吧!