8051 ELL函數(shù)庫(kù)簡(jiǎn)介
ELL是efficient low-layer的縮寫(xiě),意思是高效低封裝,結(jié)合了HAL庫(kù)和LL庫(kù)的編程思想,既保證了通用性又降低了flash的過(guò)度占用?芍^是一舉兩得,高效、簡(jiǎn)潔、好用!
開(kāi)發(fā)函數(shù)庫(kù),最初是為了滿足我自己的生產(chǎn)需求,后來(lái)經(jīng)過(guò)深思熟慮,我想做一個(gè)好用的通用庫(kù),所以把它開(kāi)源出來(lái),分享給廣大工程師們。
函數(shù)庫(kù)是基于Keil開(kāi)發(fā),支持Keil4和Keil5,支持Vscode協(xié)同開(kāi)發(fā),推薦使用EIDE插件。目前函數(shù)庫(kù)主要適配了STC公司的單片機(jī)型號(hào),以STC8系列為主。后續(xù)計(jì)劃增加STC12、STC15、STC16系列。
新手如何入門(mén)
如果你明白了ELL函數(shù)庫(kù)的架構(gòu),那么對(duì)你學(xué)習(xí)本庫(kù)會(huì)有非常大的幫助!函數(shù)庫(kù)采用了一個(gè)裸機(jī)框架來(lái)組織庫(kù)文件?蚣馨▋纱蟛糠郑汗こ涛募蛶(kù)文件。
工程文件主要存放Keil工程、Vscode文件、用戶代碼。這里可以根據(jù)你的編程習(xí)慣進(jìn)行安排,非常的自由!庫(kù)文件才是我們的重頭戲,它主要分為四個(gè)部分:核心文件夾、片內(nèi)外設(shè)庫(kù)、組件庫(kù)、設(shè)備驅(qū)動(dòng)庫(kù)。
C
核心文件夾:存放各種MCU的寄存器頭文件、函數(shù)庫(kù)重定義數(shù)據(jù)類型頭文件、函數(shù)庫(kù)常用數(shù)據(jù)結(jié)構(gòu)頭文件片內(nèi)外設(shè)庫(kù):存放MCU的片內(nèi)外設(shè)模塊,是庫(kù)的主要構(gòu)成單元。組件庫(kù):配套8051內(nèi)核開(kāi)發(fā)的好用組件,具有一定的抽象性和封裝性,能加速項(xiàng)目的開(kāi)發(fā),比如TMT時(shí)間片任務(wù)進(jìn)程組件。設(shè)備驅(qū)動(dòng)庫(kù):一些常用的外圍芯片、模塊,通過(guò)統(tǒng)一的驅(qū)動(dòng)框架進(jìn)行封裝,方便開(kāi)發(fā)。
下面是ELL函數(shù)庫(kù)的框架圖:

關(guān)鍵的是,我們?cè)撊绾卧诠こ汤锩媸褂煤瘮?shù)庫(kù)呢?我們提供了一個(gè)非常便捷的方法!我們拿STC8系列的ELL函數(shù)庫(kù)舉例,你只需要調(diào)用一個(gè)頭文件8051_ELL_Lib.h,和配置一個(gè)頭文件Lib_CFG.h。
通過(guò)配置Lib_CFG.h,可以實(shí)現(xiàn)對(duì)庫(kù)裁剪和控制,定制適合你工程的函數(shù)庫(kù)。而使用函數(shù)庫(kù)內(nèi)的API,只需要調(diào)用8051_ELL_Lib.h就可以了。 看到這里,如果你對(duì)本庫(kù)產(chǎn)生了興趣,可以通過(guò)下面下載:
本庫(kù)是開(kāi)源項(xiàng)目,遵循 Apache 許可證 2.0 版本,可免費(fèi)在商業(yè)產(chǎn)品中使用,不需要公布應(yīng)用程序源碼,沒(méi)有潛在商業(yè)風(fēng)險(xiǎn)。
|