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

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

QQ登錄

只需一步,快速開始

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

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

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

(一)開發(fā)方式
1.配置寄存器
2.庫函數(shù)
3.HAL庫
(二)庫函數(shù)與HAL庫對(duì)比
1.串口通信實(shí)驗(yàn)
2.庫函數(shù)與HAL庫比較
(三)總結(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)自己想要的功能,并且遇到問題時(shí)能夠知道是哪個(gè)寄存器的配置出現(xiàn)了問題,這種開發(fā)方式雖然十分麻煩但卻讓人能夠深入理解單片機(jī)的運(yùn)行原理。
2.庫函數(shù)
由于寄存器開發(fā)難度很大,因此ST公司就專門編寫了芯片的庫函數(shù)(固件庫),將一些常用量的宏定義和一些外設(shè)也通過結(jié)構(gòu)體變量封裝起來,如GPIO口時(shí)鐘等。所以我們只需要配置結(jié)構(gòu)體變量成員就可以修改外設(shè)的配置寄存器,從而選擇不同的功能。
標(biāo)準(zhǔn)外設(shè)庫(Standard Peripherals Library)是對(duì)STM32芯片的一個(gè)完整的封裝,包括所有標(biāo)準(zhǔn)器件外設(shè)的器件驅(qū)動(dòng)器。這應(yīng)該是目前使用最多的ST庫,幾乎全部使用C語言實(shí)現(xiàn)。但是,標(biāo)準(zhǔn)外設(shè)庫也是針對(duì)某一系列芯片而言的,沒有可移植性。
3.HAL庫
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庫的整體框架。
HAL庫是ST未來主推的庫,從前年開始ST新出的芯片已經(jīng)沒有STD庫了,比如F7系列。現(xiàn)在,ST主推HAL庫,目前,HAL庫已經(jīng)支持STM32全線產(chǎn)品。總的來說,HAL庫相對(duì)于庫函數(shù)層次架構(gòu)更加清晰,更加抽象。
(二)庫函數(shù)與HAL庫對(duì)比
1.串口通信實(shí)驗(yàn)
庫函數(shù)主要代碼
HAL庫主要代碼
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ù)的串口通信函數(shù)只適用于STM32F1系列,對(duì)于其他系列的就不能通用了;但是對(duì)于HAL庫來說,只要外設(shè)相同,基本上能夠很容易的移植。
(三)總結(jié)
通過比較STM32庫函數(shù)和HAL庫的開發(fā)方式,庫函數(shù)和HAL庫其實(shí)本質(zhì)上都是將STM32的底層的寄存器進(jìn)行封裝并向用戶提供友好的接口,這都極大的降低了用戶的開發(fā)門檻。但是相對(duì)于庫函數(shù)來說,HAL庫更加“通用”,能夠較好的移植到其他的芯片上去,但也正是這樣,導(dǎo)致其代碼比較龐大、執(zhí)行效率比較低的結(jié)果。總的來說,HAL庫相對(duì)于庫函數(shù)更加友好,能夠讓用戶將精力放在開發(fā)的產(chǎn)品上而不是怎么實(shí)現(xiàn)。
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

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

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 91性高潮久久久久久久久 | 久久一区二区三区四区 | av不卡在线播放 | 国产一区免费在线观看 | 国产日韩欧美日韩大片 | 国产精品剧情 | 久青草影院 | 精品一区二区三区在线观看 | 成年人视频在线播放 | 毛片一级片 | 成人一区二区三区 | 视频在线一区二区 | 成人黄色大片 | 亚洲精品黄色 | 国产精品久久久国产盗摄 | 久久九九国产 | 手机看片1024日韩 | a视频在线| 国产成人精品一区二区三区在线观看 | 最新中文字幕在线 | 一区二区三区成人 | 天天爽天天 | 久久久二区 | 黄色天堂| 日本少妇做爰全过程毛片 | 欧美精品久久久久久久多人混战 | 88av在线| 日韩一区二区三免费高清在线观看 | 美女福利视频 | 久久久久久久久久久国产 | 一二三四区在线观看 | 国产午夜在线 | 欧美www| 福利视频网址 | 一区二区三区网站 | 伊人久久精品 | 黄色特级片 | 免费黄色小视频 | 亚洲 欧美 日韩 在线 | 国产午夜精品视频 | 久久草视频 |