chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

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

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

掃碼添加小助手

加入工程師交流群

這是一位讀者問(wèn)的問(wèn)題,我覺(jué)得很多人應(yīng)該都有這種疑惑,所以特地寫篇文章分享給大家。

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

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

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

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

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

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

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

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

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

拓展文章:

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

STM32Cube LL能高效的原因


二、HAL和LL庫(kù)能共同使用嗎?

這個(gè)問(wèn)題的答案是:不建議共同使用。

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

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

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

這種情況下,一般來(lái)說(shuō):沒(méi)問(wèn)題。

因?yàn)楣俜讲还苁菑馁Y料,還是從STM32CubeMX工具配置都沒(méi)有反對(duì)這種做法。

這雖然沒(méi)有明確說(shuō)不允許這樣操作,但實(shí)際項(xiàng)目不建議這種方式。

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

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

這里才是本文重點(diǎn),這種情況,官方其實(shí)也是建議:不允許。

這樣混用,會(huì)存在一系列問(wèn)題:底層沖突、結(jié)構(gòu)混亂、管理不方便等。

LL庫(kù)驅(qū)動(dòng)獨(dú)立,HAL包含驅(qū)動(dòng)包

拿STM32F4的UART傳輸函數(shù)來(lái)說(shuō),LL庫(kù)的位于stm32f4xx_ll_usart.h:

而HAL定義于stm32f4xx_hal_uart.c:

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

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

HAL句柄

對(duì)于LL而言,使用HAL庫(kù),會(huì)多一個(gè)句柄,比如UART1:

UART_HandleTypeDef huart1;

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

中斷請(qǐng)求處理

HAL和LL的中斷請(qǐng)求IRQ方式其實(shí)是不一樣的,混用之后很容易出錯(cuò)。

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

當(dāng)然,不是絕對(duì)的(不能混用),我想說(shuō):萬(wàn)不得已,慎用。

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

    關(guān)注

    2312

    文章

    11189

    瀏覽量

    374502
  • BSP
    BSP
    +關(guān)注

    關(guān)注

    1

    文章

    104

    瀏覽量

    28080
  • 外設(shè)
    +關(guān)注

    關(guān)注

    0

    文章

    43

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    《機(jī)智云Gokit3開(kāi)發(fā)篇》4 RGB燈的介紹與驅(qū)動(dòng)移植(HAL庫(kù)

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

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

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

    機(jī)智云Gokit3開(kāi)發(fā)篇 — 搭建Gokit3工程(HAL庫(kù)版)

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

    立即在GitHub上搶先體驗(yàn)面向STM32U5的最新STM32Cube HAL更新

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

    怎么用LL命令讀取SPI?

    用cubemx構(gòu)建工程,MDK開(kāi)發(fā),這個(gè)項(xiàng)目采用AD4020 20位2MSPS外置ADC,ADC轉(zhuǎn)換速率高達(dá)0.5us,而STM32H5用HALHAL_SPI_Receive(&
    發(fā)表于 09-09 08:17

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

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

    STM32H7使用HAL庫(kù)如何控制外置USB HS PHY進(jìn)入低功耗?

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

    請(qǐng)問(wèn)hal庫(kù)的硬件spi,怎么修改spi時(shí)鐘的占空比?

    請(qǐng)問(wèn)hal庫(kù)的硬件spi,該怎么修改spi時(shí)鐘的占空比呀?
    發(fā)表于 07-28 07:50

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

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

    STM32F4標(biāo)準(zhǔn)外設(shè)庫(kù)資料

    stm32f4xx.h,標(biāo)準(zhǔn)外設(shè)庫(kù)
    發(fā)表于 06-08 09:49 ?5次下載

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

    不建議將單模光纖跳線和多模光纖跳線混用,原因如下: 傳輸模式不同:?jiǎn)文9饫w只傳輸一種模式的光,多模光纖允許多種模式的光同時(shí)傳播,兩者混合使用會(huì)產(chǎn)生鏈路損耗和線路抖動(dòng),無(wú)法發(fā)揮光纖設(shè)備的最佳效果
    的頭像 發(fā)表于 06-05 10:04 ?2517次閱讀

    基于STM32 HAL庫(kù)與標(biāo)準(zhǔn)庫(kù)的esp8266接入機(jī)智云方案(二)

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

    HAL15xy_SOT23

    HAL1501SU-A,HAL1502SU-A,HAL1503SU-A,HAL1504SU-A,HAL1505SU-A,
    發(fā)表于 05-14 15:03 ?0次下載

    錫膏混用,哪些情況要命,哪些情況可救?一文說(shuō)透混用紅線

    錫膏混用風(fēng)險(xiǎn)極高,五大高危場(chǎng)景嚴(yán)禁操作:無(wú)鉛與有鉛混用違反法規(guī)且焊點(diǎn)易斷裂;無(wú)鹵與有鹵混用因鹵素殘留引發(fā)漏電;高低溫錫膏混用導(dǎo)致焊點(diǎn)失效;不同活性等級(jí)
    的頭像 發(fā)表于 04-24 09:10 ?2114次閱讀
    錫膏<b class='flag-5'>混用</b>,哪些情況要命,哪些情況可救?一文說(shuō)透<b class='flag-5'>混用</b>紅線

    為什么無(wú)法使用HAL庫(kù)配置I2S?

    無(wú)法使用 HAL 庫(kù)配置 I2S
    發(fā)表于 04-21 07:18