衡阳派盒市场营销有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

[esp32教程]3、利用idf.py創建組件

板凳說 ? 來源:板凳說 ? 作者:板凳說 ? 2023-05-05 09:05 ? 次閱讀

敘述

今天就不進行外設驅動教學了,我們來學一下如何利用idf.py創建組件。創建組件有什么好處呢,好處有如下2點:

  • 可以使得工程變得整潔
  • 可以免去我們重復編寫某一個功能點,當我們在某一個工程寫完之后,可以通過組件引用,直接在其他工程中使用

0、前期準備

1、參考上一篇文章搭建好esp32環境

2、準備好一塊esp32開發開發板(本作者使用了esp32c3作為開發平臺)

1、基礎知識補充:

組件的創建命令為:idf.py create-component

引用的兩個關鍵字:REQUIRES 和 PRIV_REQUIRES,

這兩個關鍵字區別如下:

  • 若組件的頭文件是放在源文件(.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 # 設置工程使用的芯片
idf.py -C components create-component test #test為組件名
#2、引入組件
#在要引用的文件中,找到CMakeList.txt文件,在文件中添加如下內容:
idf_component_register(SRCS "main.c"
                    INCLUDE_DIRS "."
                    PRIV_REQUIRES test #引用組件
                    )
# 如果要引用其他項目的組件需要在最頂層的CMakeLists.txt配置組件路徑,然后再按照2的方式
# 進行引用,設置的路徑的語句為: set(EXTRA_COMPONENT_DIRS  組件路徑)
注意:組件的搜索目錄,默認為 IDF_PATH/components、PROJECT_DIR/components和EXTRA_COMPONENT_DIRS

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 開發平臺
    +關注

    關注

    0

    文章

    94

    瀏覽量

    14319
  • 組件
    +關注

    關注

    1

    文章

    517

    瀏覽量

    17922
  • ESP32
    +關注

    關注

    18

    文章

    978

    瀏覽量

    17525
收藏 人收藏

    評論

    相關推薦

    VS Code在ESP_IDE終端輸入idf.py set-target esp32s3報錯的原因?

    VS Code在ESP_IDE終端輸入idf.py set-target esp32s3 報錯 報錯信息為 ———————————————————————— Adding \"
    發表于 06-05 07:55

    idf.py set-target esp32c3無法生效怎么解決?

    H:~/workspace/esp32/projects/hello_world$ idf.py set-target esp32c3 Adding \"set-target\"\'s
    發表于 06-06 06:43

    esp-matter使用idf.py編譯light sample報錯怎么解決?

    在搭建好esp-matter后,編譯light sample的時候報錯 rck@ubuntu:~/ESP/esp-matter/examples/light$ idf.py buil
    發表于 06-11 07:04

    idf.py set-target esp32s3提示錯誤是什么原因導致的?怎么解決?

    D:硬件開發資料esp-idf-v5.0.1examplesperipheralstwaitwai_networktwai_network_master>idf.py
    發表于 06-12 06:44

    執行idf.py set-target esp32時出現報錯的原因?

    我是按照官方教程一步步走的,但在執行idf.py set-target esp32時出現報錯: CMake Error at build/CMakeFiles/git-data
    發表于 06-20 08:07

    idf.py set-target esp32c3設置芯片型號失敗怎么處理?

    %esphello_world idf.py set-target esp32c3 idf.py menuconfig ESP-IDF 4.2 power shell 代碼 中 的
    發表于 06-21 10:19

    idf.py set-target esp32s2命令無效的原因?

    idf.py set-target esp32s2命令無效 只能用idf.py set-target esp32s2beta 這是什么意思?只用用測試版嗎?對于穩定版本有什么影響,我
    發表于 06-24 07:42

    按照ESP32-IDF的編程指南操作,運行idf.py menuconfig后,運行報錯怎么解決?

    請問我按照ESP32-IDF的編程指南操作,下載后esp-idf后,運行idf.py menuconfig后,運行報錯,報錯信息如下: Administrator@DE-0011 MINGW64
    發表于 06-25 06:32

    esp32c3安全啟動文檔里的簽名,使用與計算的簽名和使用idf.py簽名有什么不同?

    esp32c3安全啟動文檔里的簽名,使用與計算的簽名和使用idf.py簽名有什么不同?預簽名用的是--pub-key,普通的簽名用的是--keyfile?
    發表于 07-23 08:15

    idf.py add-dependency lvgl==8.3.0添加支持LVGL時,在idf.py set-target esp32s3時報錯的原因?

    idf.py add-dependency lvgl==8.3.0添加支持LVGL時,命令能成功。但在 idf.py set-target esp32s3時,提示如下錯誤:-- Building
    發表于 02-13 08:51

    求助,除了使用idf.py set-target指令,還能用別的方法修改目標芯片嗎?

    我使用官方的方法選擇了芯片,使用命令idf.py set-target esp32c3;接下來,我想直接使用makefile編譯,而不使用idf.py build,但是使用工程下面的makefile
    發表于 02-21 07:09

    idf.py monitor無法正常輸出怎么解決?

    weilian@DESKTOP-MMQQ1CA:~/esp32s3_lvgl_480_86box_testdemo20230111$ idf.py -p /dev
    發表于 03-07 06:23

    idf.py無法識別的原因?

    _PATH%\\tools 中。當我使用 idf.py 構建時,我得到:術語“idf.py”未被識別為名稱....我還在安裝 ESP-IDF 時出現的桌面上運行了 ESF-IDF 5.
    發表于 04-13 06:30

    ESP32ESP-IDF 教學(五(1))——ESP-IDF的CMake 構建系統(Build System)

    系統(Build System)】1、構建系統簡介① 簡介② 概念2、通過 idf.py 使用構建系統3ESP-IDF 的工程文件詳解 及 CMakeList.txt 文件解析【1】ESP-
    發表于 12-16 16:53 ?24次下載
    <b class='flag-5'>ESP32</b> 之 <b class='flag-5'>ESP-IDF</b> 教學(五(1))——<b class='flag-5'>ESP-IDF</b>的CMake 構建系統(Build System)

    ESP32_C3芯片上手使用指南

    目前bsp/ESP32_C3芯片已支持使用scons進行編譯,不再使用之前的idf.py編譯。
    的頭像 發表于 07-28 17:18 ?2155次閱讀
    <b class='flag-5'>ESP32_C3</b>芯片上手使用指南
    百家乐官网群shozo| 百家乐官网赌博凯时娱乐| 网上赌百家乐官网可信吗| 博之道百家乐官网技巧| 大发百家乐官网游戏| 百家乐官网真人娱乐城| 闲和庄百家乐官网赌场娱乐网规则| 百家乐博彩桌出租| 百家乐赌博机假在哪里| 威尼斯人娱乐场 赌场网址| 大发娱乐| 澳门百家乐官网路单怎么看| 免费百家乐官网缩水| 月亮城百家乐的玩法技巧和规则| 大发888在线注册| 真人百家乐官网代理合作| 免费百家乐官网奥| 百家乐变牌桌| 大发888 df登录| 百家乐官网概率投注| 百家乐官网的最佳玩| 百家乐全讯网娱乐城| 大发888投注网| 百家乐官网冯氏坐庄法| 棋牌论坛| 澳门百家乐官网常赢打法| 24分金| 大发888娱乐城客服| 博彩乐百家乐官网平台| 新时代百家乐官网的玩法技巧和规则 | 去澳门百家乐娱乐城| 棋牌室标语| 百家乐官网庄闲排| 优博百家乐的玩法技巧和规则 | 蓝盾国际| 百家乐官网的规则玩法| 百家乐任你博娱乐场开户注册 | 百家乐官网娱乐天上人间| 百家乐说明| 百家乐官网策略与心得| 百家乐官网翻天百度影音|