在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創作中心

完善資料讓更多小伙伴認識你,還能領取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

    文章

    4344

    瀏覽量

    62859
  • 應用軟件
    +關注

    關注

    0

    文章

    52

    瀏覽量

    9114
收藏 0人收藏

    評論

    相關推薦

    HAL庫的函數調用示例

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

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

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

    手把手帶你移植HAL庫函數

    開發者更高效地進行嵌入式開發。手把手帶你移植HAL庫函數HAL庫提供了一套抽象接口,使開發者無需直接操作底層硬件寄存器,就能實現對硬件的控制。這種抽象使得代碼能夠更
    的頭像 發表于 05-18 08:04 ?2060次閱讀
    手把手帶你移植<b class='flag-5'>HAL</b><b class='flag-5'>庫函數</b>

    stm32f072如何在keil里面創建寄存器函數的工程而非庫函數

    stm32f072如何在keil里面創建 寄存器函數的工程而非庫函數
    發表于 05-17 07:21

    怎么開始學習stm8l的庫函數

    我之前用的都是51單片機,雖然有上過stm32的課但是當時忙于考研基本沒學,對庫函數根本不了解,現在我參加一個需要用stm8l做環境檢測和無線組網的項目,想知道該怎么快速上手stm8l。應該怎么開始學習stm8l的庫函數,各位有沒有好的方法或者教程、書籍推薦?
    發表于 05-11 08:12

    調用STM8S的庫函數的時候為什么老是出錯?

    各位大神,調用STM8S的庫函數的時候為什么老是出錯,求指教,我把整個工程文件上傳上來了,用的是STVD-4.3.1的軟件,希望懂的人指出錯誤,并教怎么解決,如果可以的話,還希望給出正確調用庫函數的方法,,萬分感謝!!!!!
    發表于 05-10 08:23

    STM32 CAN用庫函數在發送時遇到的疑問求解

    STM32 CAN用庫函數在發送時,作這樣處理:標準ID<<21,擴展ID<<3位。那么如果用這種方式發送報文到一個其他設備(比如汽車里某個
    發表于 05-06 08:40

    請問為什么庫函數頭文件和寄存器頭文件不可共用?

    我現在學著庫函數編程,我想邊學庫函數邊學寄存器,例如做完庫函數編程后我想把CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1);這個分頻函數換成寄
    發表于 04-28 06:22

    請問為什么非main.c的其他文件能調用庫函數

    在main.c中調用庫函數我可能理解: 是因為在main.c中引用了#include \"sys.h\"頭文件,而這個頭文件包含了各庫函數的定義聲明。 但其他文件諸如這樣
    發表于 04-25 06:49

    如何處理STM32的HAL庫函數返回異常問題?

    STM32運行死機了,是很可能可以在這種 庫函數運行返回值不是 HAL_OK 中進行故障定位的。 (3)問題是 一旦出現了這種返回值異常的錯誤,記錄在哪里比較好?芯片自帶FLASH區域?EEPROM?在
    發表于 04-17 06:39

    hal庫函數進行spi dma發送和接收函數讀取設備函數一直為0xFF的原因?

    我用hal庫函數進行spi dma發送和接收函數讀取設備函數一直為0xFF,不清楚問題出現在哪里,我感覺是片選問題,但不知道怎么排查
    發表于 04-03 06:58

    庫函數硬件nss有使能spi函數SPI_Cmd(),但是HAL庫沒有找到,怎么使用硬件NSS呢?

    庫函數硬件nss有使能spi函數SPI_Cmd(),但是HAL庫沒有找到,怎么使用硬件NSS呢? 以及主機選擇硬件nss怎么片選從機?是直接發送不用管嘛? 從機選擇硬件nss怎么接收數據,怎么進入中斷?
    發表于 03-28 10:01

    關于SDIO HAL庫函數的疑問求解

    , 64U); 3、在讀寫塊操作時,標準卡的地址為什么要乘以512? 例如函數HAL_SD_WriteBlocks里 if(hsd->SdCard.CardType != CARD_SDHC_SDXC) { add
    發表于 03-26 07:03

    使用STM8S的FLASH庫函數時,警告就有20多個,使用寄存器方式就一個警告沒有,怎么處理?

    您好!我在使用STM8S的FLASH庫函數時,警告就有20多個,而我使用寄存器方式就一個警告沒有。針對庫函數的警告問題,有何高招!
    發表于 03-22 14:53

    TC397怎么添加標準C庫函數

    想使用一些標準的C庫函數,如math.h中的一些sin,cos等函數,但是不知道怎么添加,請問有人操作過這種嗎,請賜教。
    發表于 02-02 08:04

    電子發燒友

    中國電子工程師最喜歡的網站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術信息
    • 參加活動獲取豐厚的禮品
    主站蜘蛛池模板: 国产黄色大全| 午夜小影院| 亚洲综合香蕉| 五月天婷婷亚洲| 精品伊人久久大线蕉地址| 如色网| 中文一级黄色片| 日本亚洲高清乱码中文在线观看| 天天干天天插| 小优视频在线| 97色爱| 看片地址| 欧美成人午夜不卡在线视频 | www.伊人网| 国模啪啪一区二区三区| 免费日本黄色| 人人精品久久| 如果我们是季节韩剧在线观看| 日本wwwwwwwww| 黄网站色视频| 国模大尺度酒店私拍视频拍拍| 国产1区二区| 成年毛片| 成人性视频网站| 国产 麻豆| 天堂网www天堂在线资源链接| 午夜美女影院| 成人免费久久精品国产片久久影院| 成年全黄大色大黄| 亚洲一区二区精品推荐| 日本不卡免费高清一级视频| 久久精品国产免费| 免费视频精品| 手机在线免费视频| 波多野结衣福利| 男女一区二区三区免费| 真实偷清晰对白在线视频| 不卡视频免费在线观看| 种子搜索在线| 日本黄色免费| bt天堂bt在线网|