敘述
今天就不進行外設(shè)驅(qū)動教學了,我們來學一下如何利用idf.py創(chuàng)建組件。創(chuàng)建組件有什么好處呢,好處有如下2點:
- 可以使得工程變得整潔
- 可以免去我們重復(fù)編寫某一個功能點,當我們在某一個工程寫完之后,可以通過組件引用,直接在其他工程中使用
0、前期準備
1、參考上一篇文章搭建好esp32環(huán)境
2、準備好一塊esp32開發(fā)開發(fā)板(本作者使用了esp32c3作為開發(fā)平臺)
1、基礎(chǔ)知識補充:
組件的創(chuàng)建命令為:idf.py create-component
引用的兩個關(guān)鍵字:REQUIRES 和 PRIV_REQUIRES,
這兩個關(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 #引用組件
)
# 如果要引用其他項目的組件需要在最頂層的CMakeLists.txt配置組件路徑,然后再按照2的方式
# 進行引用,設(shè)置的路徑的語句為: set(EXTRA_COMPONENT_DIRS 組件路徑)
注意:組件的搜索目錄,默認為 IDF_PATH/components、PROJECT_DIR/components和EXTRA_COMPONENT_DIRS
審核編輯:湯梓紅
-
開發(fā)平臺
+關(guān)注
關(guān)注
0文章
97瀏覽量
14642 -
組件
+關(guān)注
關(guān)注
1文章
529瀏覽量
18318 -
ESP32
+關(guān)注
關(guān)注
20文章
1008瀏覽量
18883
發(fā)布評論請先 登錄
VS Code在ESP_IDE終端輸入idf.py set-target esp32s3報錯的原因?
idf.py set-target esp32c3無法生效怎么解決?
esp-matter使用idf.py編譯light sample報錯怎么解決?
idf.py set-target esp32s3提示錯誤是什么原因?qū)е碌模吭趺唇鉀Q?
執(zhí)行idf.py set-target esp32時出現(xiàn)報錯的原因?
idf.py set-target esp32c3設(shè)置芯片型號失敗怎么處理?
idf.py set-target esp32s2命令無效的原因?
按照ESP32-IDF的編程指南操作,運行idf.py menuconfig后,運行報錯怎么解決?
esp32c3安全啟動文檔里的簽名,使用與計算的簽名和使用idf.py簽名有什么不同?
用idf.py add-dependency lvgl==8.3.0添加支持LVGL時,在idf.py set-target esp32s3時報錯的原因?
求助,除了使用idf.py set-target指令,還能用別的方法修改目標芯片嗎?
idf.py monitor無法正常輸出怎么解決?
idf.py無法識別的原因?
ESP32 之 ESP-IDF 教學(五(1))——ESP-IDF的CMake 構(gòu)建系統(tǒng)(Build System)

評論