国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

STM32之HAL、LL和標(biāo)準(zhǔn)庫(kù)

這篇具有很好參考價(jià)值的文章主要介紹了STM32之HAL、LL和標(biāo)準(zhǔn)庫(kù)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

引言

我們?cè)谶M(jìn)行STM32開發(fā)的時(shí)候,使用寄存器進(jìn)行開發(fā)的終究是少數(shù),大多數(shù)人還是習(xí)慣用庫(kù)函數(shù)進(jìn)行開發(fā)。到目前為止,有標(biāo)準(zhǔn)外設(shè)庫(kù)、HAL庫(kù)、LL庫(kù) 三種。本文將分別介紹以下三種庫(kù),便于大家區(qū)分。
stm32標(biāo)準(zhǔn)庫(kù),STM32入門到精通(嵌入式開發(fā)基礎(chǔ)),stm32,單片機(jī),嵌入式硬件

介紹

標(biāo)準(zhǔn)庫(kù)

標(biāo)準(zhǔn)庫(kù)(Standard Peripheral Library)是STMicroelectronics提供的最基本的庫(kù)。它提供了對(duì)STM32微控制器的底層寄存器和外設(shè)的直接訪問。標(biāo)準(zhǔn)庫(kù)的設(shè)計(jì)目標(biāo)是提供高度靈活性和低層次的硬件控制,以滿足對(duì)性能和資源的嚴(yán)格要求。使用標(biāo)準(zhǔn)庫(kù),開發(fā)人員可以直接操作寄存器來配置和控制微控制器的功能,但需要手動(dòng)編寫大量的底層代碼。標(biāo)準(zhǔn)庫(kù)適用于對(duì)性能要求較高的應(yīng)用和對(duì)代碼大小和效率有嚴(yán)格要求的項(xiàng)目。

stm32標(biāo)準(zhǔn)庫(kù),STM32入門到精通(嵌入式開發(fā)基礎(chǔ)),stm32,單片機(jī),嵌入式硬件

HAL庫(kù)

HAL庫(kù)(Hardware Abstraction Layer)是STMicroelectronics為了提供更高級(jí)別的抽象和簡(jiǎn)化開發(fā)而引入的庫(kù)。HAL庫(kù)基于標(biāo)準(zhǔn)庫(kù),并提供了一組API函數(shù),將底層硬件操作抽象為高級(jí)函數(shù)調(diào)用。這樣,開發(fā)人員可以使用更高級(jí)別的API函數(shù)來進(jìn)行配置和控制微控制器的功能,而不需要直接操作底層寄存器。HAL庫(kù)提供了一種更易用和可移植的編程模型,并減少了編寫底層代碼的工作量。它還支持多種開發(fā)板和外設(shè),提供了一致的接口,簡(jiǎn)化了代碼移植和復(fù)用。HAL庫(kù)適用于大多數(shù)應(yīng)用程序,尤其是中等復(fù)雜性的項(xiàng)目。
stm32標(biāo)準(zhǔn)庫(kù),STM32入門到精通(嵌入式開發(fā)基礎(chǔ)),stm32,單片機(jī),嵌入式硬件

LL庫(kù)

LL庫(kù)(Low-Level Library)是STMicroelectronics在HAL庫(kù)的基礎(chǔ)上提供的更低級(jí)別的庫(kù)。LL庫(kù)提供了對(duì)底層寄存器和外設(shè)的更直接的訪問,并提供了一組低級(jí)別的API函數(shù)。LL庫(kù)保留了更多的硬件細(xì)節(jié),為開發(fā)人員提供了更高級(jí)別的靈活性和控制。使用LL庫(kù),開發(fā)人員可以直接編寫更底層的代碼,實(shí)現(xiàn)對(duì)微控制器和外設(shè)的精細(xì)控制。LL庫(kù)適用于對(duì)性能和資源要求極高,以及對(duì)底層硬件控制有特殊需求的應(yīng)用。

三者的關(guān)系

在這三種庫(kù)中,出現(xiàn)的先后順序是標(biāo)準(zhǔn)庫(kù)—HAL庫(kù)—LL庫(kù),所以大家如果在網(wǎng)上 看到LL庫(kù)編寫的程序,大概是不久完成的,看到標(biāo)準(zhǔn)庫(kù),可能就是稍早一些時(shí)候的了。
這幾種庫(kù)的比較官方介紹如下圖:
stm32標(biāo)準(zhǔn)庫(kù),STM32入門到精通(嵌入式開發(fā)基礎(chǔ)),stm32,單片機(jī),嵌入式硬件
stm32標(biāo)準(zhǔn)庫(kù),STM32入門到精通(嵌入式開發(fā)基礎(chǔ)),stm32,單片機(jī),嵌入式硬件
stm32標(biāo)準(zhǔn)庫(kù),STM32入門到精通(嵌入式開發(fā)基礎(chǔ)),stm32,單片機(jī),嵌入式硬件
stm32標(biāo)準(zhǔn)庫(kù),STM32入門到精通(嵌入式開發(fā)基礎(chǔ)),stm32,單片機(jī),嵌入式硬件
HAL庫(kù)雖然移植性最好,但問題也最多。比如在串口收發(fā)的時(shí)候,由于HAL庫(kù)中的中斷接收和串口發(fā)送使用的互斥鎖是一個(gè),所以會(huì)造成好好的全雙工變成了半雙工。而標(biāo)準(zhǔn)庫(kù)和LL庫(kù)都沒有這個(gè)問題。諸如此類的問題還有很多,但HAL庫(kù)確實(shí)開發(fā)效率最高。具體使用效果因人而異吧。

總結(jié)

ST提供的標(biāo)準(zhǔn)庫(kù)、HAL庫(kù)和LL庫(kù)各有其優(yōu)勢(shì)和特點(diǎn),如果是移植很久前的項(xiàng)目,大概率要使用標(biāo)準(zhǔn)庫(kù)。如果新開發(fā)項(xiàng)目,使用STM32CubeMX就必須使用HAL庫(kù)和LL庫(kù)了。個(gè)人建議,現(xiàn)在最好是使用HAL庫(kù)+LL庫(kù)進(jìn)行開發(fā),因?yàn)檫@是官方主推的庫(kù),并且CubeMX確實(shí)是個(gè)很好用的工具,而里面只有HAL庫(kù)和LL庫(kù)。HAL庫(kù)開發(fā)迅速,LL庫(kù)開發(fā)穩(wěn)定,大家可以結(jié)合著用。文章來源地址http://www.zghlxwxcb.cn/news/detail-643137.html

到了這里,關(guān)于STM32之HAL、LL和標(biāo)準(zhǔn)庫(kù)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 藍(lán)橋杯嵌入式STM32 G431 hal庫(kù)開發(fā)速成——ADC與DAC

    藍(lán)橋杯嵌入式STM32 G431 hal庫(kù)開發(fā)速成——ADC與DAC

    模數(shù)轉(zhuǎn)換器(ADC):它將模擬信號(hào)轉(zhuǎn)換為單片機(jī)能夠處理的數(shù)字信號(hào)。在很多應(yīng)用中,比如溫度傳感器、壓力傳感器等,信號(hào)最初都是模擬形式的。ADC 讀取這些模擬信號(hào),然后將它們轉(zhuǎn)換為數(shù)字形式,以便單片機(jī)可以讀取和處理。 數(shù)模轉(zhuǎn)換器(DAC):它執(zhí)行相反的操作,將

    2024年02月01日
    瀏覽(30)
  • 嵌入式-Stm32-江科大基于標(biāo)準(zhǔn)庫(kù)的GPIO的八種模式

    嵌入式-Stm32-江科大基于標(biāo)準(zhǔn)庫(kù)的GPIO的八種模式

    (推薦先看文章:《 嵌入式-32單片機(jī)-GPIO推挽輸出和開漏輸出》) 下文圖都是從參考手冊(cè)借閱:STM32F10xxx(中文),大概頁(yè)數(shù)是110/775左右 GPIO (General Purpose Input Output)通用輸入輸出口 可配置為8種輸入輸出模式 引腳電平:0V~3.3V,部分引腳可容忍5V(有FT標(biāo)識(shí)) 輸出模式 下可控

    2024年01月20日
    瀏覽(94)
  • 嵌入式-Stm32-江科大基于標(biāo)準(zhǔn)庫(kù)的GPIO通用輸入輸出口

    嵌入式-Stm32-江科大基于標(biāo)準(zhǔn)庫(kù)的GPIO通用輸入輸出口

    (推薦先看文章:《 嵌入式-32單片機(jī)-GPIO推挽輸出和開漏輸出》) 下文圖都是從參考手冊(cè)借閱:STM32F10xxx(中文),大概頁(yè)數(shù)是110/775左右 GPIO (General Purpose Input Output)通用輸入輸出口 可配置為8種輸入輸出模式 引腳電平:0V~3.3V,部分引腳可容忍5V(有FT標(biāo)識(shí)) 輸出模式 下可控

    2024年01月17日
    瀏覽(91)
  • 嵌入式-Stm32-江科大基于標(biāo)準(zhǔn)庫(kù)的GPIO4個(gè)小實(shí)驗(yàn)

    嵌入式-Stm32-江科大基于標(biāo)準(zhǔn)庫(kù)的GPIO4個(gè)小實(shí)驗(yàn)

    核心:本文共4個(gè)小實(shí)驗(yàn): 第一個(gè):LED燈閃爍 第二個(gè):LED流水燈 第三個(gè):按鍵控制LED 第四個(gè):光敏傳感器控制蜂鳴器 1.1 LED、蜂鳴器、面包板 LED:發(fā)光二極管,正向通電點(diǎn)亮,反向通電不亮。 有源蜂鳴器(本實(shí)驗(yàn)):內(nèi)部自帶振蕩源,將正負(fù)極接上直流電壓即可持續(xù)發(fā)聲,頻

    2024年01月21日
    瀏覽(30)
  • 藍(lán)橋杯嵌入式STM32G431RBT6的學(xué)習(xí)(總大綱)(HAL庫(kù)學(xué)習(xí))板子介紹

    藍(lán)橋杯嵌入式STM32G431RBT6的學(xué)習(xí)(總大綱)(HAL庫(kù)學(xué)習(xí))板子介紹

    我寫藍(lán)橋杯嵌入式大概用到的外設(shè),都是非常常用的。我在這里匯總一下。 藍(lán)橋杯嵌入式基礎(chǔ)模塊——GPIO的使用(新板)STM32G431(HAL庫(kù)開發(fā))_薛定諤的貓咪死了的博客-CSDN博客 藍(lán)橋杯嵌入式基礎(chǔ)模塊——串口的使用(新板)STM32G431(HAL庫(kù)開發(fā))_薛定諤的貓咪死了的博客-C

    2024年02月02日
    瀏覽(60)
  • 藍(lán)橋杯嵌入式基礎(chǔ)模塊——LCD顯示器的基本使用(新板)STM32G431(HAL庫(kù)開發(fā))

    藍(lán)橋杯嵌入式基礎(chǔ)模塊——LCD顯示器的基本使用(新板)STM32G431(HAL庫(kù)開發(fā))

    ? ? ? ? 在藍(lán)橋杯嵌入式官方給我們提供好了,LCD顯示的底層源碼,我們只需要,記住里面的API函數(shù),會(huì)用這些函數(shù)就行。 ????????在官方給的資料中找到這個(gè)文件名字DK117_G4 Data Packet-開發(fā)板驅(qū)動(dòng)文件里面就是所有的底層文件有兩種類型,一種是基于HAL庫(kù)的一種是標(biāo)準(zhǔn)庫(kù)

    2024年02月09日
    瀏覽(19)
  • 【STM32】驅(qū)動(dòng)庫(kù)的選擇:CMSIS Driver、SPL、HAL、LL | 在ARM MDK、STM32Cube中如何選擇?

    【STM32】驅(qū)動(dòng)庫(kù)的選擇:CMSIS Driver、SPL、HAL、LL | 在ARM MDK、STM32Cube中如何選擇?

    閱讀本專欄其他文章,有助于理解本文。?? STM32開發(fā)相關(guān)的庫(kù)有很多,它們都是為了方便開發(fā)者使用STM32微控制器而提供的軟件工具。根據(jù)不同的功能和層次,可以將它們分為以下幾類: CMSIS庫(kù)(準(zhǔn)確來說是CMSIS pack) ( Cortex Microcontroller Software Interface Standard )是 ARM公司 推

    2024年02月11日
    瀏覽(94)
  • stm32嵌入式實(shí)驗(yàn)考核

    STM32 實(shí)驗(yàn)考核題目 1. 利用 STM32 小板實(shí)現(xiàn):控制外接 LED 燈每隔 3 秒鐘亮暗變換,同 時(shí)在 PC 機(jī)上顯示 MCU 的計(jì)時(shí)時(shí)間,MCU 的初始時(shí)間由 PC 機(jī) 方設(shè)置。 2. 利用 STM32 小板實(shí)現(xiàn):利用導(dǎo)線外接 GPIO 口模擬 2 個(gè)按鍵輸入, 根據(jù)輸入組合的四種情況,分別控制三色燈四種流水燈效果

    2024年02月03日
    瀏覽(29)
  • HAL/LL/STD STM32 U8g2庫(kù) +I2C SSD1306/sh1106 WouoUI磁貼案例

    HAL/LL/STD STM32 U8g2庫(kù) +I2C SSD1306/sh1106 WouoUI磁貼案例

    ??基于STM32F103C8T6 LL庫(kù)驅(qū)動(dòng)版本: https://gitee.com/chcsx/platform-test/tree/master/MDK-ARM ??視頻演示: WouoUI移植磁貼案例,新增確認(rèn)彈窗 ??基于標(biāo)準(zhǔn)庫(kù)驅(qū)動(dòng),STM32F103RCT6移植u8g2 硬件i2c WouoUI磁貼: https://gitee.com/henrycrh/stm32-f103-rct6_-wouo-ui/tree/master/STM32F10x_FWlib/src ??視頻演示: ??使用LL庫(kù)

    2024年02月22日
    瀏覽(26)
  • 【嵌入式學(xué)習(xí)筆記】嵌入式基礎(chǔ)9——STM32啟動(dòng)過程

    【嵌入式學(xué)習(xí)筆記】嵌入式基礎(chǔ)9——STM32啟動(dòng)過程

    程序段交叉引用關(guān)系(Section Cross References):描述各文件之間函數(shù)調(diào)用關(guān)系 刪除映像未使用的程序段(Removing Unused input sections from the image):描述工程中未用到被刪除的冗余程序段(函數(shù)/數(shù)據(jù)) 映像符號(hào)表(Image Symbol Table):描述各符號(hào)(程序段/數(shù)據(jù))在存儲(chǔ)器中的地址、類

    2024年02月15日
    瀏覽(64)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包