日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > > strongerHuang
[導(dǎo)讀]因為STM32標(biāo)準(zhǔn)外設(shè)庫已經(jīng)停更了,導(dǎo)致很多開發(fā)者都轉(zhuǎn)向了HAL,但一些讀者可能比較疑惑,有HAL和LL兩種庫,到底能不能混合使用呢?




關(guān)注+星標(biāo)公眾,不錯過精彩內(nèi)容

作者:strongerHuang
微信公眾號:strongerHuang


因為STM32標(biāo)準(zhǔn)外設(shè)庫已經(jīng)停更了,導(dǎo)致很多開發(fā)者都轉(zhuǎn)向了HAL,但一些讀者可能比較疑惑,有HAL和LL兩種庫,到底能不能混合使用呢?


一、標(biāo)準(zhǔn)外設(shè)庫停更了

很多學(xué)習(xí)STM32的朋友都比較依賴之前的標(biāo)準(zhǔn)外設(shè)庫(StdPeriph_Lib),我想告訴大家一個事實,那就是標(biāo)準(zhǔn)外設(shè)庫已經(jīng)停更很久了。


支持標(biāo)準(zhǔn)外設(shè)庫的STM32,只有相對較老的系列:F0、 F1、?F2、?F3、?F4、?L1.


我特地看了下,STM32標(biāo)準(zhǔn)外設(shè)庫最后一次更新時間是2016年11月的F4系列。


標(biāo)準(zhǔn)外設(shè)庫地址:

https://www.st.com/en/embedded-software/stm32-standard-peripheral-libraries.html

(公號不支持外鏈接,請復(fù)制鏈接到瀏覽器打開)


這后面出來的L0、 L4、 L5、 F7、 H7、 G0、 G4、MP1等都沒有標(biāo)準(zhǔn)外設(shè)庫了。


所以,使用STM32CubeHAL將成為今后的的主流。這里就出來了一個問題:該使用HAL,還是LL開發(fā)呢?


二者能共同共同開發(fā)嗎?


拓展閱讀:

關(guān)于STM32的四類嵌入式軟件庫

STM32Cube LL能高效的原因


二、HAL和LL庫能混合使用嗎?

這個問題的答案是:不建議共同使用


當(dāng)然,這個問題還要分情況:相同外設(shè)和不同外設(shè)之間共同使用HAL和LL庫


1.不同外設(shè)混用HAL和LL庫

這里說的不同外設(shè)混用HAL和LL庫,針對的是不同外設(shè)。比如:UART使用HAL庫,SPI使用LL庫。


這種情況下,一般來說:問題不大


因為官方不管是從資料,還是從STM32CubeMX工具配置都沒有反對這種做法。


雖沒有明確說不允許這樣操作,但實際項目不建議這種方式


至于原因,相信不用我說,有項目經(jīng)驗的朋友都明白。這樣做不利于代碼移植,管理等工作


2.相同外設(shè)混用HAL和LL庫

這里才是本文重點,這種情況,官方其實也是不建議混合


如果混用,會存在一系列問題:底層沖突、結(jié)構(gòu)混亂、管理不方便等。


LL庫驅(qū)動獨立,HAL包含驅(qū)動包

拿STM32F4的UART傳輸函數(shù)來說,LL庫的位于stm32f4xx_ll_usart.h:


而HAL定義于stm32f4xx_hal_uart.c


從這里可以看得出來,LL只需包含頭文件即可,HAL要包含bsp包。


假如使用LL庫的工程,想使用HAL庫,需添加bsp包到工程。


HAL句柄

對于LL而言,使用HAL庫,會多一個句柄,比如UART1:

UART_HandleTypeDef huart1;

如果LL庫的工程,直接調(diào)用HAL接口是不行的,缺少句柄。


中斷請求處理

HAL和LL的中斷請求IRQ方式其實是不一樣的,混用之后很容易出錯。


這里簡單舉例說這些,深入理解底層的朋友應(yīng)該知道,還有許多地方也是不建議混用。


當(dāng)然,不是絕對的(不能混用),我想說:萬不得已,慎用。


------------?END?------------

推薦閱讀:

什么是Cortex-M內(nèi)核的MPU

程序猿如何選擇開源協(xié)議?

線程、進(jìn)程、多線程、多進(jìn)程 和 多任務(wù)?


關(guān)注 微信公眾號『strongerHuang』,后臺回復(fù)“1024”查看更多內(nèi)容,回復(fù)“加群”按規(guī)則加入技術(shù)交流群。


長按前往圖中包含的公眾號關(guān)注


點擊“ 閱讀原文 ”查看更多分享,歡迎點分享、收藏、點贊、在看。

免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺僅提供信息存儲服務(wù)。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!

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