女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

3天內不再提示

標準庫函數與基于HAL庫函數的說明

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

掃碼添加小助手

加入工程師交流群

開始學習51的時候有的人會直接選擇進行對單片機寄存器進行操作,可以很好的理解單片機的工作原理,對于代碼的編寫也會后很好的理解,但是在stm32的時候操作寄存器就不太行了,因為stm32的寄存器是51的數十倍,如此多的寄存器根本無法全部記憶,開發時需要經常的翻查芯片的數據手冊,此時直接操作寄存器就變得非常的費力了。這是我們就有了其他的操作方式,來簡化我們的工作。

一、標準庫

STM32有非常多的寄存器,導致了開發困難,所以為此ST公司就為每款芯片都編寫了一份庫文件,也就是工程文件里stm32F1xx……之類的。在這些 .c .h文件中,包括一些常用量的宏定義,把一些外設也通過結構體變量封裝起來,如GPIO口時鐘等。所以我們只需要配置結構體變量成員就可以修改外設的配置寄存器,從而選擇不同的功能。也是目前最多人使用的方式,也是學習STM32接觸最多的一種開發方式。

二、HAL庫

HAL庫是ST公司目前主力推的開發方式,全稱就是Hardware Abstraction Layer(抽象印象層)。庫如其名,很抽象,一眼看上去不太容易知道他的作用是什么。它的出現比標準庫要晚,但其實和標準庫一樣,都是為了節省程序開發的時期,而且HAL庫尤其的有效,如果說標準庫把實現功能需要配置的寄存器集成了,那么HAL庫的一些函數甚至可以做到某些特定功能的集成。也就是說,同樣的功能,標準庫可能要用幾句話,HAL庫只需用一句話就夠了。并且HAL庫也很好的解決了程序移植的問題,不同型號的stm32芯片它的標準庫是不一樣的,但使用HAL庫,只要使用的是相通的外設,程序基本可以完全復制粘貼,注意是相通外設,意思也就是不能無中生有。而且使用ST公司研發的STMcube軟件,可以通過圖形化的配置功能,直接生成整個使用HAL庫的工程文件,可以說是方便至極。

三、庫函數與HAL庫對比

1.串口通信實驗庫函數部分代碼

HAL函數代碼

2.庫函數與HAL庫比較庫函數配置好串口以后,當串口接收到數據再發送給上位機時需要循環發送,但是HAL庫就直接調用HAL_UART_Transmit函數就能直接將串口的數據發給上位機。庫函數不免比HAL更加的麻煩。庫函數的串口通信函數只適用于STM32F1系列,對于其他系列的就不能通用了;但是對于HAL庫來說,只要外設相同,基本上能夠很容易的移植。可以說HAL庫就是用來取代之前的標準外設庫的。

總結

相比標準外設庫,STM32Cube HAL庫表現出更高的抽象整合水平,HAL API集中關注各外設的公共函數功能,這樣便于定義一套通用的用戶友好的API函數接口,從而可以輕松實現從一個STM32產品移植到另一個不同的STM32系列產品。對于我們這種水平的新手而言,HAL更加的友好,可以降低我們開發的門檻,但是如果想要更好的理解代碼實現的原理以及對寄存器的調用原理,標準庫更好的理解,可能相對較難,但是理解代碼的實現也是我們必須的。

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

    關注

    3

    文章

    4380

    瀏覽量

    64849
  • 應用軟件
    +關注

    關注

    0

    文章

    53

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    自己寫庫:構建庫函數雛形

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

    MSP430常用內聯函數說明

    電子發燒友網站提供《MSP430常用內聯函數說明.docx》資料免費下載
    發表于 06-05 17:20 ?0次下載

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

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

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

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

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

    SPC560B無法使用sprintf vsnprintf等c庫函數
    發表于 03-14 12:09

    給uint32_t數組填充整型值,除使用循環賦值外有沒有c庫函數可以實現?

    給uint32_t數組填充整型值,除使用循環賦值外有沒有c庫函數可以實現
    發表于 03-07 17:05

    HAL庫和標準庫的區別 HAL庫與CMSIS的關系

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

    HAL庫的函數調用示例

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

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

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

    SUMIF函數與SUMIFS函數的區別

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

    CAN/CANFD卡接口函數使用說明

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

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

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

    面試常考+1:函數指針與指針函數、數組指針與指針數組

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

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

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