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

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

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

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

標(biāo)準(zhǔn)庫函數(shù)與基于HAL庫函數(shù)的說明

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

掃碼添加小助手

加入工程師交流群

開始學(xué)習(xí)51的時(shí)候有的人會(huì)直接選擇進(jìn)行對(duì)單片機(jī)寄存器進(jìn)行操作,可以很好的理解單片機(jī)的工作原理,對(duì)于代碼的編寫也會(huì)后很好的理解,但是在stm32的時(shí)候操作寄存器就不太行了,因?yàn)閟tm32的寄存器是51的數(shù)十倍,如此多的寄存器根本無法全部記憶,開發(fā)時(shí)需要經(jīng)常的翻查芯片的數(shù)據(jù)手冊(cè),此時(shí)直接操作寄存器就變得非常的費(fèi)力了。這是我們就有了其他的操作方式,來簡(jiǎn)化我們的工作。

一、標(biāo)準(zhǔn)庫

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

二、HAL庫

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

三、庫函數(shù)與HAL庫對(duì)比

1.串口通信實(shí)驗(yàn)庫函數(shù)部分代碼

HAL函數(shù)代碼

2.庫函數(shù)與HAL庫比較庫函數(shù)配置好串口以后,當(dāng)串口接收到數(shù)據(jù)再發(fā)送給上位機(jī)時(shí)需要循環(huán)發(fā)送,但是HAL庫就直接調(diào)用HAL_UART_Transmit函數(shù)就能直接將串口的數(shù)據(jù)發(fā)給上位機(jī)。庫函數(shù)不免比HAL更加的麻煩。庫函數(shù)的串口通信函數(shù)只適用于STM32F1系列,對(duì)于其他系列的就不能通用了;但是對(duì)于HAL庫來說,只要外設(shè)相同,基本上能夠很容易的移植??梢哉fHAL庫就是用來取代之前的標(biāo)準(zhǔn)外設(shè)庫的。

總結(jié)

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

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

    關(guān)注

    3

    文章

    4423

    瀏覽量

    67957
  • 應(yīng)用軟件
    +關(guān)注

    關(guān)注

    0

    文章

    53

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    matlab調(diào)用dll動(dòng)態(tài)庫函數(shù),死機(jī)問題,如何強(qiáng)行跳出?

    matlab調(diào)用dll動(dòng)態(tài)庫中的函數(shù),例如圖莫斯,發(fā)送數(shù)據(jù)時(shí),經(jīng)常會(huì)卡死,是否有辦法限制時(shí)間,比如3秒,沒有回應(yīng),就強(qiáng)行結(jié)束函數(shù)調(diào)用。執(zhí)行后續(xù)邏輯。
    發(fā)表于 12-31 10:14

    在ADS編譯器中,用標(biāo)準(zhǔn)的C庫函數(shù)printf()需要哪些設(shè)置呢?

    在ADS編譯器中,用標(biāo)準(zhǔn)的C庫函數(shù)printf()需要哪些設(shè)置呢?又在哪兒可以看到printf()輸出的信息呢?
    發(fā)表于 12-23 07:32

    請(qǐng)問CW32微控制器是否提供軟件開發(fā)工具和庫函數(shù)支持?

    CW32微控制器是否提供軟件開發(fā)工具和庫函數(shù)支持?
    發(fā)表于 12-16 08:11

    labview調(diào)用pylon庫函數(shù)失敗

    在labview中去調(diào)用pylon庫函數(shù)。labview2018(32位),pylon(202506),ni vas,ni vdm均安裝。dll文件為runtime文件下win32
    發(fā)表于 12-11 13:20

    微庫與標(biāo)準(zhǔn)C庫的區(qū)別

    主要的差異: 1.代碼(數(shù)據(jù))量更?。▽?duì)比上圖)。 2.缺少一些不常用標(biāo)準(zhǔn)庫函數(shù),比如:文件 I/O 的庫函數(shù)。 3.微庫最大程度優(yōu)化代碼量,可能會(huì)導(dǎo)致有些庫代碼運(yùn)行速度更慢。 4.可用于RTOS這類
    發(fā)表于 12-09 07:49

    LUA例程-常用的回調(diào)函數(shù)使用說明

    詳細(xì)說明LUA腳本函數(shù)功能和對(duì)應(yīng)的應(yīng)用實(shí)例。對(duì)于LUA腳本編程有很大的幫助和提高技能。
    發(fā)表于 11-24 16:43 ?0次下載

    單片機(jī)啟動(dòng)&庫函數(shù)的構(gòu)成

    文件中找到那個(gè)叫SystemInit的東西,這是個(gè)函數(shù)名字,一般來講都可以在廠商提供的庫函數(shù)中找到,cw32的在下面這個(gè)圖的文件里 5.在執(zhí)行完SystemInit函數(shù)的這三行代碼之后,單片機(jī)
    發(fā)表于 11-18 08:15

    深度剖析Nios II 處理器的硬件抽象層

    )與ANSI C標(biāo)準(zhǔn)庫綜合在一起,可使用類似C語言的庫函數(shù)來訪問硬件設(shè)備或文件,如printf()、fopen()、fwrite()等函數(shù)。軟件工程師可非常方便的使用這些函數(shù)來與底層硬
    的頭像 發(fā)表于 10-31 15:25 ?5206次閱讀
    深度剖析Nios II 處理器的硬件抽象層

    在rtthread的main函數(shù)里用HAL_Delay函數(shù)不起作用是哪里的問題?

    在rtthread的main函數(shù)里用HAL_Delay函數(shù)無效,我設(shè)置延時(shí)500ms打印一次,但是實(shí)際上,一秒打印了幾百次,很顯然是HAL_Delay出現(xiàn)了問題。用RT_thread_
    發(fā)表于 09-15 07:53

    STM32 學(xué)習(xí)達(dá)標(biāo)標(biāo)準(zhǔn):4 個(gè)維度,判斷你是否真正合格

    最近在網(wǎng)址經(jīng)??吹竭@樣的帖子:STM32怎么就算是精通了、怎么就是完全入門了、要學(xué)到什么程度才算合格?老實(shí)說,這事真沒絕對(duì)標(biāo)準(zhǔn),但只懂外設(shè)原理、會(huì)調(diào)用庫函數(shù)肯定只是入門級(jí)。就像學(xué)開車,知道方向盤剎車
    的頭像 發(fā)表于 08-11 16:36 ?906次閱讀
    STM32 學(xué)習(xí)達(dá)標(biāo)<b class='flag-5'>標(biāo)準(zhǔn)</b>:4 個(gè)維度,判斷你是否真正合格

    詳解hal_entry入口函數(shù)

    當(dāng)使用RTOS時(shí),程序從main函數(shù)開始進(jìn)行線程調(diào)度;當(dāng)沒有使用RTOS時(shí),C語言程序的入口函數(shù)main函數(shù)調(diào)用了hal_entry函數(shù)。由
    的頭像 發(fā)表于 07-25 15:34 ?2279次閱讀

    求CS32A010K8V7的庫函數(shù)使用教程

    請(qǐng)問有CS32A010K8V7的庫函數(shù)使用教程嗎,官網(wǎng)的庫函數(shù)自帶的文字說明感覺不是很看得明白呢
    發(fā)表于 07-18 23:20

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

    實(shí)際上,構(gòu)建固件庫是一件費(fèi)時(shí)費(fèi)力的事情,并且它對(duì)開發(fā)者對(duì)芯片的熟悉程度有一定的要求。甚至,當(dāng)一個(gè)固件庫的封裝程度很高時(shí),想要閱讀并理解該固件庫的底層代碼也會(huì)變成一件有較高難度的事情。瑞薩RA系列單片機(jī)所使用的官方FSP庫便是這樣的一種封裝程度很高的固件庫。所幸的是,F(xiàn)SP庫的意義在于為開發(fā)者封裝硬件底層,因此一般而言,F(xiàn)SP庫是帶來方便的,開發(fā)者只需學(xué)會(huì)如何使用FSP庫即可,而不用深入到FSP庫的底層細(xì)節(jié)。
    的頭像 發(fā)表于 06-19 11:19 ?1399次閱讀
    自己寫庫:構(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èi)下載
    發(fā)表于 06-05 17:20 ?0次下載
    抚州市| 敖汉旗| 大方县| 涡阳县| 平乐县| 攀枝花市| 溆浦县| 武强县| 山东省| 兴宁市| 合阳县| 万荣县| 苍梧县| 壤塘县| 玛多县| 鄂托克旗| 仙居县| 福泉市| 得荣县| 卫辉市| 浮梁县| 四子王旗| 西乌珠穆沁旗| 武山县| 客服| 平舆县| 吉林市| 隆林| 华容县| 柏乡县| 特克斯县| 当雄县| 扎赉特旗| 大冶市| 临泽县| 介休市| 塘沽区| 韶山市| 永川市| 庄浪县| 永安市|