久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 1864|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

STM32基于標(biāo)準(zhǔn)庫(kù)函數(shù)和HAL庫(kù)編程差異

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:1034553 發(fā)表于 2022-6-15 00:22 | 只看該作者 回帖獎(jiǎng)勵(lì) |正序?yàn)g覽 |閱讀模式

(一)開發(fā)方式
1.配置寄存器
2.庫(kù)函數(shù)
3.HAL庫(kù)
(二)庫(kù)函數(shù)與HAL庫(kù)對(duì)比
1.串口通信實(shí)驗(yàn)
2.庫(kù)函數(shù)與HAL庫(kù)比較
(三)總結(jié)
(一)開發(fā)方式
1.配置寄存器
很多人學(xué)習(xí)51單片機(jī)開發(fā)的時(shí)候,基本都是直接操作寄存器進(jìn)行單片機(jī)的控制,但是當(dāng)他們轉(zhuǎn)向STM32開發(fā)的時(shí)候,直接操作寄存器不是那么容易了,因?yàn)镾TM32的寄存器數(shù)量是51單片機(jī)的許多倍,開發(fā)時(shí)經(jīng)常需要翻查芯片的數(shù)據(jù)手冊(cè),此時(shí)直接操作寄存器就變得非常的費(fèi)力了。
但是寄存器是最接近硬件的部分,直接操作寄存器能夠很容易的實(shí)現(xiàn)自己想要的功能,并且遇到問(wèn)題時(shí)能夠知道是哪個(gè)寄存器的配置出現(xiàn)了問(wèn)題,這種開發(fā)方式雖然十分麻煩但卻讓人能夠深入理解單片機(jī)的運(yùn)行原理。
2.庫(kù)函數(shù)
由于寄存器開發(fā)難度很大,因此ST公司就專門編寫了芯片的庫(kù)函數(shù)(固件庫(kù)),將一些常用量的宏定義和一些外設(shè)也通過(guò)結(jié)構(gòu)體變量封裝起來(lái),如GPIO口時(shí)鐘等。所以我們只需要配置結(jié)構(gòu)體變量成員就可以修改外設(shè)的配置寄存器,從而選擇不同的功能。
標(biāo)準(zhǔn)外設(shè)庫(kù)(Standard Peripherals Library)是對(duì)STM32芯片的一個(gè)完整的封裝,包括所有標(biāo)準(zhǔn)器件外設(shè)的器件驅(qū)動(dòng)器。這應(yīng)該是目前使用最多的ST庫(kù),幾乎全部使用C語(yǔ)言實(shí)現(xiàn)。但是,標(biāo)準(zhǔn)外設(shè)庫(kù)也是針對(duì)某一系列芯片而言的,沒(méi)有可移植性。
3.HAL庫(kù)
HAL(HardwareAbstraction Layer)是硬件的抽象層,它表現(xiàn)出更高的抽象整合水平,HAL API集中關(guān)注各外設(shè)的公共函數(shù)功能,這樣便于定義一套通用的對(duì)用戶友好的API函數(shù)接口,從而可以輕松實(shí)現(xiàn)從一個(gè)STM32產(chǎn)品移植到另一個(gè)不同的STM32系列產(chǎn)品。下圖是HAL庫(kù)的整體框架。
HAL庫(kù)是ST未來(lái)主推的庫(kù),從前年開始ST新出的芯片已經(jīng)沒(méi)有STD庫(kù)了,比如F7系列。現(xiàn)在,ST主推HAL庫(kù),目前,HAL庫(kù)已經(jīng)支持STM32全線產(chǎn)品。總的來(lái)說(shuō),HAL庫(kù)相對(duì)于庫(kù)函數(shù)層次架構(gòu)更加清晰,更加抽象。
(二)庫(kù)函數(shù)與HAL庫(kù)對(duì)比
1.串口通信實(shí)驗(yàn)
庫(kù)函數(shù)主要代碼
HAL庫(kù)主要代碼
2.庫(kù)函數(shù)與HAL庫(kù)比較
庫(kù)函數(shù)配置好串口以后,當(dāng)串口接收到數(shù)據(jù)再發(fā)送給上位機(jī)時(shí)需要循環(huán)發(fā)送,但是HAL庫(kù)就直接調(diào)用HAL_UART_Transmit函數(shù)就能直接將串口的數(shù)據(jù)發(fā)給上位機(jī)。
庫(kù)函數(shù)的串口通信函數(shù)只適用于STM32F1系列,對(duì)于其他系列的就不能通用了;但是對(duì)于HAL庫(kù)來(lái)說(shuō),只要外設(shè)相同,基本上能夠很容易的移植。
(三)總結(jié)
通過(guò)比較STM32庫(kù)函數(shù)和HAL庫(kù)的開發(fā)方式,庫(kù)函數(shù)和HAL庫(kù)其實(shí)本質(zhì)上都是將STM32的底層的寄存器進(jìn)行封裝并向用戶提供友好的接口,這都極大的降低了用戶的開發(fā)門檻。但是相對(duì)于庫(kù)函數(shù)來(lái)說(shuō),HAL庫(kù)更加“通用”,能夠較好的移植到其他的芯片上去,但也正是這樣,導(dǎo)致其代碼比較龐大、執(zhí)行效率比較低的結(jié)果。總的來(lái)說(shuō),HAL庫(kù)相對(duì)于庫(kù)函數(shù)更加友好,能夠讓用戶將精力放在開發(fā)的產(chǎn)品上而不是怎么實(shí)現(xiàn)。
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:45334 發(fā)表于 2022-6-15 08:30 | 只看該作者
試試LL庫(kù)
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 日韩精品一区二区在线观看 | 国产精品视频网 | 一本一道久久a久久精品蜜桃 | 瑟瑟视频在线看 | 国产欧美一区二区三区国产幕精品 | 久久久国产亚洲精品 | 激情在线视频网站 | 亚洲欧美精品在线 | 国产剧情一区 | 国产精品久久久久久久久免费樱桃 | 91免费福利视频 | 成人激情免费视频 | 亚洲天堂一区二区 | 在线一区 | 羞羞网站在线观看 | 欧美一级www片免费观看 | 99热在线免费 | 久久精品黄色 | 免费国产视频 | www.天天操.com| 久久亚洲天堂 | 欧美一区二区综合 | 久久九九99 | 国产欧美一区二区三区在线播放 | 日本福利视频 | 免费99精品国产自在在线 | 国产精品不卡视频 | 国产精品毛片一区二区三区 | 久久成人人人人精品欧 | 黄色毛片免费视频 | 国产免费观看久久黄av片涩av | 欧美精品一区二区免费 | 国产一级在线 | 国产精品视频久久久久 | 久久久久久久久99 | 福利视频1000 | 尤物在线 | 99久久精品国产麻豆演员表 | 欧美日韩久 | 日韩在线欧美 | 永久精品 |