開始學習51的時候有的人會直接選擇進行對單片機的寄存器進行操作,可以很好的理解單片機的工作原理,對于代碼的編寫也會后很好的理解,但是在stm32的時候操作寄存器就不太行了,因為stm32的寄存器是51的數(shù)十倍,如此多的寄存器根本無法全部記憶,開發(fā)時需要經(jīng)常的翻查芯片的數(shù)據(jù)手冊,此時直接操作寄存器就變得非常的費力了。這是我們就有了其他的操作方式,來簡化我們的工作。
一、標準庫
STM32有非常多的寄存器,導致了開發(fā)困難,所以為此ST公司就為每款芯片都編寫了一份庫文件,也就是工程文件里stm32F1xx……之類的。在這些 .c .h文件中,包括一些常用量的宏定義,把一些外設也通過結(jié)構(gòu)體變量封裝起來,如GPIO口時鐘等。所以我們只需要配置結(jié)構(gòu)體變量成員就可以修改外設的配置寄存器,從而選擇不同的功能。也是目前最多人使用的方式,也是學習STM32接觸最多的一種開發(fā)方式。
二、HAL庫
HAL庫是ST公司目前主力推的開發(fā)方式,全稱就是Hardware Abstraction Layer(抽象印象層)。庫如其名,很抽象,一眼看上去不太容易知道他的作用是什么。它的出現(xiàn)比標準庫要晚,但其實和標準庫一樣,都是為了節(jié)省程序開發(fā)的時期,而且HAL庫尤其的有效,如果說標準庫把實現(xiàn)功能需要配置的寄存器集成了,那么HAL庫的一些函數(shù)甚至可以做到某些特定功能的集成。也就是說,同樣的功能,標準庫可能要用幾句話,HAL庫只需用一句話就夠了。并且HAL庫也很好的解決了程序移植的問題,不同型號的stm32芯片它的標準庫是不一樣的,但使用HAL庫,只要使用的是相通的外設,程序基本可以完全復制粘貼,注意是相通外設,意思也就是不能無中生有。而且使用ST公司研發(fā)的STMcube軟件,可以通過圖形化的配置功能,直接生成整個使用HAL庫的工程文件,可以說是方便至極。
三、庫函數(shù)與HAL庫對比
1.串口通信實驗庫函數(shù)部分代碼
HAL函數(shù)代碼
2.庫函數(shù)與HAL庫比較庫函數(shù)配置好串口以后,當串口接收到數(shù)據(jù)再發(fā)送給上位機時需要循環(huán)發(fā)送,但是HAL庫就直接調(diào)用HAL_UART_Transmit函數(shù)就能直接將串口的數(shù)據(jù)發(fā)給上位機。庫函數(shù)不免比HAL更加的麻煩。庫函數(shù)的串口通信函數(shù)只適用于STM32F1系列,對于其他系列的就不能通用了;但是對于HAL庫來說,只要外設相同,基本上能夠很容易的移植??梢哉fHAL庫就是用來取代之前的標準外設庫的。
總結(jié)
相比標準外設庫,STM32Cube HAL庫表現(xiàn)出更高的抽象整合水平,HAL API集中關(guān)注各外設的公共函數(shù)功能,這樣便于定義一套通用的用戶友好的API函數(shù)接口,從而可以輕松實現(xiàn)從一個STM32產(chǎn)品移植到另一個不同的STM32系列產(chǎn)品。對于我們這種水平的新手而言,HAL更加的友好,可以降低我們開發(fā)的門檻,但是如果想要更好的理解代碼實現(xiàn)的原理以及對寄存器的調(diào)用原理,標準庫更好的理解,可能相對較難,但是理解代碼的實現(xiàn)也是我們必須的。
-
函數(shù)
+關(guān)注
關(guān)注
3文章
4381瀏覽量
64890 -
應用軟件
+關(guān)注
關(guān)注
0文章
53瀏覽量
9284
發(fā)布評論請先 登錄
自己寫庫:構(gòu)建庫函數(shù)雛形


CANape中函數(shù)的使用,如利用庫函數(shù)、工程函數(shù)生成虛擬信號進行在線測量及離線分析,內(nèi)置功能庫的調(diào)用等
MSP430常用內(nèi)聯(lián)函數(shù)說明
ZYNQ FPGA的PS端IIC設備接口使用

STM32的幾種開發(fā)方式,你都知道嗎?(可下載)
SPC560B無法使用sprintf vsnprintf等c庫函數(shù)是怎么回事?
給uint32_t數(shù)組填充整型值,除使用循環(huán)賦值外有沒有c庫函數(shù)可以實現(xiàn)?
HAL庫和標準庫的區(qū)別 HAL庫與CMSIS的關(guān)系
HAL庫的函數(shù)調(diào)用示例
如何快速入門HAL庫編程 HAL庫與裸機編程的比較
SUMIF函數(shù)與SUMIFS函數(shù)的區(qū)別
CAN/CANFD卡接口函數(shù)使用說明
第六章-V1.5 STM32 ADC讀取電壓 ADC采樣電壓 STM32f103c8t6adc采集電壓

面試常考+1:函數(shù)指針與指針函數(shù)、數(shù)組指針與指針數(shù)組

評論