一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

標準庫函數(shù)與基于HAL庫函數(shù)的說明

電子設計 ? 來源:電子設計 ? 作者:電子設計 ? 2020-12-25 16:47 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

開始學習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)也是我們必須的。

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

    關(guān)注

    3

    文章

    4381

    瀏覽量

    64890
  • 應用軟件
    +關(guān)注

    關(guān)注

    0

    文章

    53

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    自己寫庫:構(gòu)建庫函數(shù)雛形

    實際上,構(gòu)建固件庫是一件費時費力的事情,并且它對開發(fā)者對芯片的熟悉程度有一定的要求。甚至,當一個固件庫的封裝程度很高時,想要閱讀并理解該固件庫的底層代碼也會變成一件有較高難度的事情。瑞薩RA系列單片機所使用的官方FSP庫便是這樣的一種封裝程度很高的固件庫。所幸的是,F(xiàn)SP庫的意義在于為開發(fā)者封裝硬件底層,因此一般而言,F(xiàn)SP庫是帶來方便的,開發(fā)者只需學會如何使用FSP庫即可,而不用深入到FSP庫的底層細節(jié)。
    的頭像 發(fā)表于 06-19 11:19 ?434次閱讀
    自己寫庫:構(gòu)建<b class='flag-5'>庫函數(shù)</b>雛形

    MSP430常用內(nèi)聯(lián)函數(shù)說明

    電子發(fā)燒友網(wǎng)站提供《MSP430常用內(nèi)聯(lián)函數(shù)說明.docx》資料免費下載
    發(fā)表于 06-05 17:20 ?0次下載

    ZYNQ FPGA的PS端IIC設備接口使用

    zynq系列中的FPGA,都會自帶兩個iic設備,我們直接調(diào)用其接口函數(shù)即可運用。使用xilinx官方提供的庫函數(shù),開發(fā)起來方便快捷。
    的頭像 發(fā)表于 04-17 11:26 ?1094次閱讀
    ZYNQ FPGA的PS端IIC設備接口使用

    STM32的幾種開發(fā)方式,你都知道嗎?(可下載)

    經(jīng)常有人會問,你們 STM32 編程是用庫函數(shù) 還是用寄存器的...會說庫函數(shù)方便,容 易,都用庫函數(shù)...等等這樣的問題,今天我們就來 dis 一下這幾種編程方式,STM32 編程 目前常見的幾種
    發(fā)表于 04-03 11:24 ?0次下載

    SPC560B無法使用sprintf vsnprintf等c庫函數(shù)是怎么回事?

    SPC560B無法使用sprintf vsnprintf等c庫函數(shù)
    發(fā)表于 03-14 12:09

    給uint32_t數(shù)組填充整型值,除使用循環(huán)賦值外有沒有c庫函數(shù)可以實現(xiàn)?

    給uint32_t數(shù)組填充整型值,除使用循環(huán)賦值外有沒有c庫函數(shù)可以實現(xiàn)
    發(fā)表于 03-07 17:05

    HAL庫和標準庫的區(qū)別 HAL庫與CMSIS的關(guān)系

    在嵌入式系統(tǒng)開發(fā)中,HAL(硬件抽象層)庫和標準庫是兩種常用的軟件庫,它們在功能和使用場景上有所不同。 1. 標準標準庫,通常指的是C語言標準
    的頭像 發(fā)表于 12-02 14:02 ?3267次閱讀

    HAL庫的函數(shù)調(diào)用示例

    HAL(Hardware Abstraction Layer,硬件抽象層)庫是STM32等微控制器中常用的庫,它為開發(fā)者提供了訪問和控制硬件設備的接口。以下是一些常用的HAL庫函數(shù)及其調(diào)用示例: 一
    的頭像 發(fā)表于 12-02 14:01 ?1607次閱讀

    如何快速入門HAL庫編程 HAL庫與裸機編程的比較

    如何快速入門HAL庫編程 要快速入門HAL庫編程,可以遵循以下步驟: 了解基礎知識 : 掌握C語言編程基礎,包括變量、數(shù)據(jù)類型、函數(shù)、指針等。 了解嵌入式系統(tǒng)的基本概念,如微控制器、中斷、外設等
    的頭像 發(fā)表于 12-02 11:39 ?1137次閱讀

    SUMIF函數(shù)與SUMIFS函數(shù)的區(qū)別

    SUMIF函數(shù)和SUMIFS函數(shù)都是Excel中用于條件求和的函數(shù),它們可以幫助用戶根據(jù)特定的條件對數(shù)據(jù)進行求和。盡管它們的基本功能相似,但在使用場景和功能上存在一些差異。以下是對這兩個函數(shù)
    的頭像 發(fā)表于 10-30 09:51 ?7529次閱讀

    CAN/CANFD卡接口函數(shù)使用說明

    電子發(fā)燒友網(wǎng)站提供《CAN/CANFD卡接口函數(shù)使用說明.pdf》資料免費下載
    發(fā)表于 10-15 17:35 ?0次下載

    第六章-V1.5 STM32 ADC讀取電壓 ADC采樣電壓 STM32f103c8t6adc采集電壓

    STM32智能小車 庫函數(shù)開發(fā)。功能:循跡、避障、跟隨、遙控、電池電壓顯示等。
    的頭像 發(fā)表于 08-15 16:23 ?1933次閱讀
    第六章-V1.5 STM32 ADC讀取電壓 ADC采樣電壓 STM32f103c8t6adc采集電壓

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

    在嵌入式開發(fā)領域,函數(shù)指針、指針函數(shù)、數(shù)組指針和指針數(shù)組是一些非常重要但又容易混淆的概念。理解它們的特性和應用場景,對于提升嵌入式程序的效率和質(zhì)量至關(guān)重要。一、指針函數(shù)函數(shù)指針指針
    的頭像 發(fā)表于 08-10 08:11 ?1459次閱讀
    面試???1:<b class='flag-5'>函數(shù)</b>指針與指針<b class='flag-5'>函數(shù)</b>、數(shù)組指針與指針數(shù)組

    stm32的官方庫函數(shù)有步進電機的那個脈沖函數(shù)嗎?

    stm32的官方庫函數(shù)有步進電機的那個脈沖函數(shù)嗎,還是說要自己編寫
    發(fā)表于 07-23 06:37