当前位置: 首页> 财经> 产业 > 制作图网老版_宣传手册word模板_沈阳seo网站关键词优化_sem搜索引擎

制作图网老版_宣传手册word模板_沈阳seo网站关键词优化_sem搜索引擎

时间:2025/7/13 6:34:26来源:https://blog.csdn.net/m0_60313295/article/details/146124951 浏览次数:2次
制作图网老版_宣传手册word模板_沈阳seo网站关键词优化_sem搜索引擎

前言

  对于要封装自己的库,在ESP-IDF中,可以采用构建组件的方式导入,而不是单纯在文件夹下导入.h.c文件,不然一旦要导入的文件过多,它们背后的依赖可能就会相互交叉,不在方便移除和复用。本文就分别讲述:构建自己组件导入官方组件。基于VsCdoe+ESP-IDF V5.4.0环境。

相关链接:构建系统 - ESP32 - — ESP-IDF 编程指南 v5.4 文档 (espressif.com)、Search • ESP Component Registry (espressif.com)

构建自己组件

下面以封装官方的GPIO库为MyGPIO组件为目的。进入项目创建导向,配置为template-app模板创建项目。

手动构建步骤:

文字步骤:

  1. 项目文件夹下创建components 组件文件夹
  2. 创建组件文件夹MyGPIO,及其文件组件.h组件.cCMakeLists.txt
# 下述省略其它无关文件,只列出操作相关文件结构
- MyProject/- components/- MyGPIO/- MyGPIO.h- MyGPIO.c- CMakeLists.txt

CMakeLists.txt内容:

idf_component_register(SRCS "MyGPIO.c"INCLUDE_DIRS "."REQUIRES driver )
  • idf_component_register:这是一个 ESP-IDF 提供的宏,用于注册组件
  • SRCS "MyGPIO.c":指定组件的源文件为 MyGPIO.c
  • INCLUDE_DIRS ".":指定组件的头文件目录为当前目录(. 表示当前目录)
  • REQUIRES driver:指定该组件依赖于 driver 组件(因为要导入 "driver/gpio.h"所以才要引入,如果没有依赖其它组件,该属性可以省略)
  1. 清除构建 -> 构建项目 就能够在main.c中调用该组件库,并使用了。
#include <stdio.h>
#include "MyGPIO.h"void app_main(void)
{}

图片步骤:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

快捷构建步骤:

基于插件功能快速开始

文字步骤:

  1. 点击顶部搜索处,选择显示并运行命令,或者直接 Ctrl + Shift + P 直接打开命令栏。搜索并点击ESP-IDF:CreateNewESP-IDFComponent,输入组件名称可自动生成基本文件。

  2. 可以看出,生成的文件层级,多了个/include专门管理.h文件的,方便在多个库文件的情况下管理,在上述手动创建中我就没有分库文件夹,除此之外组件的CMakeLists.txt也不同了,毕竟库文件导入路径不同了。当然这里就不深究了,感兴趣的可以去看下CMake的语句的含义。

图文步骤:

在这里插入图片描述

导入官方组件

下面以导入0.96寸OLED常用的SSD1306组件库,为目的。

Espressif组件管理器:Search • ESP Component Registry (espressif.com)

文字步骤:

  1. 组件管理器中搜索,存在该库。点击查看信息,选择最新版本。一定要选择版本,不然README文件,可能会出不来。
  2. 复制右侧的导入命令,到VsCode的项目终端中执行。执行完成后/main文件夹下,会生成idf_component.yml文件。
  3. 清除构建 -> 构建项目 就能够在main.c中调用该组件库,并使用了。且会在项目文件夹下生成managed_components文件夹。

图片步骤:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

关键字:制作图网老版_宣传手册word模板_沈阳seo网站关键词优化_sem搜索引擎

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: