日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

STM32的HAL與LL庫能共同使用(混用)嗎?

黃工的嵌入式技術圈 ? 來源:黃工的嵌入式技術圈 ? 作者:黃工的嵌入式技術 ? 2020-02-28 16:57 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

這是一位讀者問的問題,我覺得很多人應該都有這種疑惑,所以特地寫篇文章分享給大家。

一、標準外設庫停更了

很多學習STM32的朋友都比較依賴之前的標準外設庫(StdPeriph_Lib),我想告訴大家一個事實,那就是標準外設庫已經停更很久了。

支持標準外設庫的STM32,只有相對較老的系列:F0、 F1、F2、F3、F4、L1.

我特地看了下,STM32標準外設庫最后一次更新時間是2016年11月的F4系列。

標準外設庫地址:

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

這后面出來的L0、 L4、 L5、 F7、 H7、 G0、 G4等都沒有標準外設庫了。

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

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

拓展文章:

關于STM32的四類嵌入式軟件

STM32Cube LL能高效的原因


二、HAL和LL庫能共同使用嗎?

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

當然,這個問題還要分情況:相同外設和不同外設之間共同使用HAL和LL庫。

1.不同外設混用HAL和LL庫

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

這種情況下,一般來說:沒問題。

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

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

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

2.相同外設混用HAL和LL庫

這里才是本文重點,這種情況,官方其實也是建議:不允許。

這樣混用,會存在一系列問題:底層沖突、結構混亂、管理不方便等。

LL庫驅動獨立,HAL包含驅動包

拿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庫的工程,直接調用HAL接口是不行的,缺少句柄。

中斷請求處理

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

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

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

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • STM32
    +關注

    關注

    2313

    文章

    11195

    瀏覽量

    374754
  • BSP
    BSP
    +關注

    關注

    1

    文章

    105

    瀏覽量

    28109
  • 外設
    +關注

    關注

    0

    文章

    44

    瀏覽量

    12118
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    【求助】Proteus 8.17SP5中STM32 HAL HAL_GPIO_ReadPin讀不出低電平!

    開發(fā)環(huán)境STM32 CubeIDE v1.12.1,仿真環(huán)境Proteus 8.17SP5。使用STM32F103R6Tx。 配置PB7為Inputmode,內部Pull-up。PC5為
    發(fā)表于 01-30 16:45

    《機智云Gokit3開發(fā)篇》4 RGB燈的介紹與驅動移植(HAL

    的色彩控制能力。本文聚焦Gokit3開發(fā)板(MCU模式,主控STM32F103C8T6),以HAL為開發(fā)基礎,從P9813驅動芯片的工作原理入手,系統(tǒng)講解RGB燈的
    的頭像 發(fā)表于 01-28 19:11 ?5341次閱讀
    《機智云Gokit3開發(fā)篇》4 RGB燈的介紹與驅動移植(<b class='flag-5'>HAL</b><b class='flag-5'>庫</b>)

    光纖收發(fā)器品牌不同混用嗎?

    在光纖通信網(wǎng)絡部署中,一個高頻問題困擾著眾多工程師與采購方: 不同品牌的 光纖收發(fā)器 能否混用? 這一問題背后,涉及技術參數(shù)匹配、協(xié)議兼容性、工程穩(wěn)定性等多重維度。本文將從底層原理到實際應用場
    的頭像 發(fā)表于 01-28 11:07 ?1366次閱讀
    光纖收發(fā)器品牌不同<b class='flag-5'>能</b><b class='flag-5'>混用</b>嗎?

    機智云Gokit3開發(fā)篇 — 搭建Gokit3工程(HAL版)

    F103C8T6微控制器,支持多種開發(fā)環(huán)境,使學習與開發(fā)變得更加便捷。本文將帶您從零基礎開始,逐步搭建Gokit3的HAL工程,并通過簡單的點燈實驗,讓您感受開發(fā)的樂趣。在這個過
    的頭像 發(fā)表于 01-08 19:14 ?689次閱讀
    機智云Gokit3開發(fā)篇 — 搭建Gokit3工程(<b class='flag-5'>HAL</b><b class='flag-5'>庫</b>版)

    立即在GitHub上搶先體驗面向STM32U5的最新STM32Cube HAL更新

    其滿足您的需求。 如何獲取預覽版本 面向STM32U5系列的STM32Cube HAL2預覽版已在GitHub代碼STM32CubeU5-
    的頭像 發(fā)表于 10-20 17:12 ?1301次閱讀

    rt-thread stm32 BSP編譯不通過,缺乏HAL怎么處理?

    拉取gitee上關于rt-thread master分支的代碼進行BSP/stm32f407部分編譯時,使用env編譯不通過,提示缺乏Libraries下的HAL,這部分我看是缺乏的,然后分支v5.1.0是有的,
    發(fā)表于 09-15 07:35

    怎么用LL命令讀取SPI?

    用cubemx構建工程,MDK開發(fā),這個項目采用AD4020 20位2MSPS外置ADC,ADC轉換速率高達0.5us,而STM32H5用HALHAL_SPI_Receive(&
    發(fā)表于 09-09 08:17

    單模光纖和多模光纖可以混用

    單模和多模光纖不建議混用,主要原因如下: 一、傳輸模式不匹配 單模光纖:纖芯極細(通常8-10μm),僅允許一種光信號模式(基模)傳輸,無模式色散,適合長距離、高速率傳輸。 多模光纖:纖芯較粗(50
    的頭像 發(fā)表于 09-03 11:37 ?3645次閱讀

    STM32H7使用HAL如何控制外置USB HS PHY進入低功耗?

    項目使用STM32H7的HAL控制外置USB HS PHY(如USB3300或CH132)的。不知如何讓MCU通過ULPI接口寫寄存器讓USB HS PHY進入低功耗,且USB保持鏈接狀態(tài)讓PC可以重新喚醒。
    發(fā)表于 08-14 07:21

    請問hal的硬件spi,怎么修改spi時鐘的占空比?

    請問hal的硬件spi,該怎么修改spi時鐘的占空比呀?
    發(fā)表于 07-28 07:50

    為什么要選擇采用TO-LL封裝的意法半導體SiC MOSFET

    采用TO-LL封裝的意法半導體SiC MOSFET將第3代STPOWER SiC技術的固有特性與TO-LL封裝出色的散熱和電流性能集于一身。這些設計元素共同實現(xiàn)了出色的開關性能、可靠性和熱管理功能,而附加的Kelvin源引線則可
    的頭像 發(fā)表于 06-09 09:57 ?1185次閱讀

    STM32F4標準外設資料

    stm32f4xx.h,標準外設
    發(fā)表于 06-08 09:49 ?5次下載

    單模光纖跳線和多模光纖跳線混用

    不建議將單模光纖跳線和多模光纖跳線混用,原因如下: 傳輸模式不同:單模光纖只傳輸一種模式的光,多模光纖允許多種模式的光同時傳播,兩者混合使用會產生鏈路損耗和線路抖動,無法發(fā)揮光纖設備的最佳效果
    的頭像 發(fā)表于 06-05 10:04 ?2556次閱讀

    基于STM32 HAL與標準的esp8266接入機智云方案(二)

    在《基于STM32HAL與標準的esp8266接入機智云方案(一)》中,我們詳細介紹了硬件連接和機智云客戶端的創(chuàng)建。本篇將重點講解如何下載代碼、分析下載的代碼,并直接使用這些代碼連接機智云。同時
    的頭像 發(fā)表于 05-28 18:02 ?1681次閱讀
    基于<b class='flag-5'>STM32</b> <b class='flag-5'>HAL</b><b class='flag-5'>庫</b>與標準<b class='flag-5'>庫</b>的esp8266接入機智云方案(二)

    HAL15xy_SOT23

    HAL1501SU-A,HAL1502SU-A,HAL1503SU-A,HAL1504SU-A,HAL1505SU-A,
    發(fā)表于 05-14 15:03 ?0次下載
    顺义区| 黔南| 澄迈县| 嘉禾县| 成都市| 浦东新区| 宁国市| 乐山市| 镇沅| 清河县| 巴南区| 七台河市| 磐石市| 延安市| 玉山县| 偏关县| 盖州市| 汝南县| 福建省| 灌阳县| 金秀| 晋中市| 固安县| 施甸县| 防城港市| 同德县| 巢湖市| 青川县| 莲花县| 赞皇县| 黔东| 安阳市| 绥棱县| 扎囊县| 徐闻县| 藁城市| 金乡县| 剑川县| 当涂县| 阿拉尔市| 昭平县|