當前位置:首頁 > 公眾號精選 > 嵌入式大雜燴
[導讀]關注「Linux大陸」,一起進步!STM32的三種開發(fā)方式通常新手在入門STM32的時候,首先都要先選擇一種要用的開發(fā)方式,不同的開發(fā)方式會導致你編程的架構是完全不一樣的。一般大多數(shù)都會選用標準庫和HAL庫,而極少部分人會通過直接配置寄存器進行開發(fā)。網(wǎng)上關于標準庫、HAL庫的描述...

關注Linux大陸」,一起進步!


STM32的三種開發(fā)方式

通常新手在入門STM32的時候,首先都要先選擇一種要用的開發(fā)方式,不同的開發(fā)方式會導致你編程的架構是完全不一樣的。一般大多數(shù)都會選用標準庫和HAL庫,而極少部分人會通過直接配置寄存器進行開發(fā)。

網(wǎng)上關于標準庫、HAL庫的描述相信是數(shù)不勝數(shù)??墒且粋€對于很多剛入門的朋友還是沒法很直觀的去真正了解這些不同開發(fā)發(fā)方式彼此之間的區(qū)別,所以筆者想以一種非常直白的方式,用自己的理解去將這些東西表述出來,如果有描述的不對的地方或者是不同意見的也可以大家提出。

1、直接配置寄存器

不少先學了51的朋友可能會知道,會有一小部分人或是教程是通過匯編語言直接操作寄存器實現(xiàn)功能的,這種方法到了STM32就變得不太容易行得通了,因為STM32的寄存器數(shù)量是51單片機的十數(shù)倍,如此多的寄存器根本無法全部記憶,開發(fā)時需要經常的翻查芯片的數(shù)據(jù)手冊,此時直接操作寄存器就變得非常的費力了。但還是會有很小一部分人,喜歡去直接操作寄存器,因為這樣更接近原理,知其然也知其所以然。

2、標準庫

上面也提到了,STM32有非常多的寄存器,而導致了開發(fā)困難,所以為此ST公司就為每款芯片都編寫了一份庫文件,也就是工程文件里stm32F1xx…之類的。在這些 .c .h文件中,包括一些常用量的宏定義,把一些外設也通過結構體變量封裝起來,如GPIO口時鐘等。所以我們只需要配置結構體變量成員就可以修改外設的配置寄存器,從而選擇不同的功能。也是目前最多人使用的方式,也是學習STM32接觸最多的一種開發(fā)方式,我也就不多闡述了。

3、HAL庫

HAL庫是ST公司目前主力推的開發(fā)方式,全稱就是Hardware Abstraction Layer(抽象印象層)。庫如其名,很抽象,一眼看上去不太容易知道他的作用是什么。

它的出現(xiàn)比標準庫要晚,但其實和標準庫一樣,都是為了節(jié)省程序開發(fā)的時期,而且HAL庫尤其的有效,如果說標準庫把實現(xiàn)功能需要配置的寄存器集成了,那么HAL庫的一些函數(shù)甚至可以做到某些特定功能的集成。也就是說,同樣的功能,標準庫可能要用幾句話,HAL庫只需用一句話就夠了。

并且HAL庫也很好的解決了程序移植的問題,不同型號的stm32芯片它的標準庫是不一樣的,例如在F4上開發(fā)的程序移植到F3上是不能通用的,而使用HAL庫,只要使用的是相通的外設,程序基本可以完全復制粘貼,注意是相通外設,意思也就是不能無中生有,例如F7比F3要多幾個定時器,不能明明沒有這個定時器卻非要配置,但其實這種情況不多,絕大多數(shù)都可以直接復制粘貼。

是而且使用ST公司研發(fā)的STMcube軟件,可以通過圖形化的配置功能,直接生成整個使用HAL庫的工程文件,可以說是方便至極,但是方便的同時也造成了它執(zhí)行效率的低下,在各種論壇帖子真的是被吐槽的數(shù)不勝數(shù)。

HAL庫固件庫安裝與 用戶手冊

1、首先設置讓Cube可以自動聯(lián)網(wǎng)下載相關固件庫選擇updater Settings

??

設置如下:



2、根據(jù)芯片選擇所需固件

版本是向下兼容的,可以直接選擇最新版。但如果覺得最新版太大,可以閱讀下面的Main Changes.能夠支持你目前的芯片就好。

??

選好了,點擊Install Now就行,過程可能有點長。建議直接官網(wǎng)下載到本地,再安裝文件會被下載到如下位置,建議更改此目錄,不要選在C盤!??!



3、尋找用戶幫助手冊

進入固件所在文件夾,里面包含很多內容。


比如說 官方提供的開發(fā)板程序,每個型號下面都有對應功能的實現(xiàn),用戶手冊就在Drivers文件夾下面。



STM32 HAL庫與標準庫的區(qū)別

1、句柄

句柄(handle),有多種意義,其中第一種是指程序設計,第二種是指Windows編程。現(xiàn)在大部分都是指程序設計/程序開發(fā)這類。

  • 第一種解釋:句柄是一種特殊的智能指針 。當一個應用程序要引用其他系統(tǒng)(如數(shù)據(jù)庫、操作系統(tǒng))所管理的內存塊或對象時,就要使用句柄。

  • 第二種解釋:整個Windows編程的基礎。一個句柄是指使用的一個唯一的整數(shù)值,即一個4字節(jié)(64位程序中為8字節(jié))長的數(shù)值,來標識應用程序中的不同對象和同類中的不同的實例,諸如,一個窗口,按鈕,圖標,滾動條,輸出設備,控件或者文件等。應用程序能夠通過句柄訪問相應的對象的信息,但是句柄不是指針,程序不能利用句柄來直接閱讀文件中的信息。如果句柄不在I/O文件中,它是毫無用處的。句柄是Windows用來標志應用程序中建立的或是使用的唯一整數(shù),Windows大量使用了句柄來標識對象。

STM32的標準庫中,句柄是一種特殊的指針,通常指向結構體!

STM32的標準庫中,假設我們要初始化一個外設(這里以USART為例),我們首先要初始化他們的各個寄存器。在標準庫中,這些操作都是利用固件庫結構體變量 固件庫Init函數(shù)實現(xiàn)的:

USART_InitTypeDef?USART_InitStructure;

USART_InitStructure.USART_BaudRate?=?bound;//串口波特率
USART_InitStructure.USART_WordLength?=?USART_WordLength_8b;//字長為8位數(shù)據(jù)格式
USART_InitStructure.USART_StopBits?=?USART_StopBits_1;//一個停止位
USART_InitStructure.USART_Parity?=?USART_Parity_No;//無奇偶校驗位
USART_InitStructure.USART_HardwareFlowControl?=?USART_HardwareFlowControl_None;//無硬件數(shù)據(jù)流控制
USART_InitStructure.USART_Mode?=?USART_Mode_Rx?|?USART_Mode_Tx;?//收發(fā)模式

USART_Init(USART3,?
本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產業(yè)博覽會開幕式在貴陽舉行,華為董事、質量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經營業(yè)績穩(wěn)中有升 落實提質增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數(shù)字經濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉