敘述
今天就不進(jìn)行外設(shè)驅(qū)動(dòng)教學(xué)了,我們來(lái)學(xué)一下如何利用idf.py創(chuàng)建組件。創(chuàng)建組件有什么好處呢,好處有如下2點(diǎn):
- 可以使得工程變得整潔
- 可以免去我們重復(fù)編寫(xiě)某一個(gè)功能點(diǎn),當(dāng)我們?cè)谀骋粋€(gè)工程寫(xiě)完之后,可以通過(guò)組件引用,直接在其他工程中使用
0、前期準(zhǔn)備
1、參考上一篇文章搭建好esp32環(huán)境
2、準(zhǔn)備好一塊esp32開(kāi)發(fā)開(kāi)發(fā)板(本作者使用了esp32c3作為開(kāi)發(fā)平臺(tái))
1、基礎(chǔ)知識(shí)補(bǔ)充:
組件的創(chuàng)建命令為:idf.py create-component
引用的兩個(gè)關(guān)鍵字:REQUIRES 和 PRIV_REQUIRES,
這兩個(gè)關(guān)鍵字區(qū)別如下:
- 若組件的頭文件是放在源文件(.c文件)就是使用 PRIV_REQUIRES,
- 若組件的頭文件是在放在要引入的頭文件(.h文件)中用使用REQUIRES
idf.py -C components create-component test #test為組件名
2、使用例子
# 1、新建工程
idf.py create-project project_test # 新建工程
cd project_test
idf.py set-target esp32c3 # 設(shè)置工程使用的芯片
idf.py -C components create-component test #test為組件名
#2、引入組件
#在要引用的文件中,找到CMakeList.txt文件,在文件中添加如下內(nèi)容:
idf_component_register(SRCS "main.c"
INCLUDE_DIRS "."
PRIV_REQUIRES test #引用組件
)
# 如果要引用其他項(xiàng)目的組件需要在最頂層的CMakeLists.txt配置組件路徑,然后再按照2的方式
# 進(jìn)行引用,設(shè)置的路徑的語(yǔ)句為: set(EXTRA_COMPONENT_DIRS 組件路徑)
注意:組件的搜索目錄,默認(rèn)為 IDF_PATH/components、PROJECT_DIR/components和EXTRA_COMPONENT_DIRS
審核編輯:湯梓紅
-
開(kāi)發(fā)平臺(tái)
+關(guān)注
關(guān)注
0文章
94瀏覽量
14287 -
組件
+關(guān)注
關(guān)注
1文章
515瀏覽量
17865 -
ESP32
+關(guān)注
關(guān)注
18文章
971瀏覽量
17417
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論