ESP-IDF VScode 项目构建/增加组件 新手友好!!!

项目构建

1.新建文件夹,同时在该文件夹内新建.c和.h文件

如图所示,在components中新建ADC_User.c、ADC_User.h、CMakeLists.txt文件。当然这里你也可以不在components文件夹内新建文件,下面会说没有在components文件夹内新建文件构建项目的方法。

2.撰写新建文件夹下的CMakeLists.txt文件,如图所示。

idf_component_register(SRCS	"ADC_User.C"        //这一行要写该文件夹下所有的.c文件INCLUDE_DIRS "."        //表示包含当前路径下的所有.h文件REQUIRES	esp_adc     //添加需要用到的官方组件或自己创建的组件driverMCPWM_User)

3.修改根目录下的CMakeLists.txt(添加编译路径)

(一)对应第1点中没有在components文件夹内新建文件的添加编译路径的方法

set(EXTRA_COMPONENT_DIRS $ENV{IDF_PATH} /自己建的文件路径(写到最后一个文件夹))

EXTRA_COMPONENT_DIRS:这个变量用于告诉构建系统额外的组件目录位置。

$ENV{IDF_PATH}:通过使用$ENV{}语法,CMake 可以获取这个环境变量的值并将其用于后续的路径构建。

(二)在components下新建文件夹然后存放的.c和.h文件,在CMakeLists.txt添加下面命令

set(EXTRA_COMPONENT_DIRS ./components)

添加官方组件

1.可以在项目路径下的命令行输入命令添加依赖,所需添加的依赖需要看官方文档。这里列举的是添加IOT中的button组件。
espressif/button • v3.4.0• ESP Component Registry

另一个,添加组件的方法是在上方的输入栏内输入下面的命令。

>Show ESP Component Registry

2.在所需要使用该官方组件的文件的CMakeLists.txt的文件中添加

学习资料

1.乐鑫官方资料

IDF 组件管理器 - ESP32 - — ESP-IDF 编程指南 v5.2.3 文档

2.B站视频

【ESP32教程】002 VScode esp-idf 创建及增加组件_哔哩哔哩_bilibili

espidf增加组件

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/19290.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

Node Exporter 可观测性最佳实践

Node Exporter 介绍 Node Exporter 是一个开源的 Prometheus 指标收集器,它提供了大量关于宿主机系统的关键指标,如 CPU、内存、磁盘和网络使用情况。在 Kubernetes 环境中,Node Exporter 对于监控集群节点的健康状况至关重要。本文将介绍如…

Spring Boot汽车资讯:科技与速度的交响

3系统分析 3.1可行性分析 通过对本汽车资讯网站实行的目的初步调查和分析,提出可行性方案并对其一一进行论证。我们在这里主要从技术可行性、经济可行性、操作可行性等方面进行分析。 3.1.1技术可行性 本汽车资讯网站采用SSM框架,JAVA作为开发语言&#…

外卖跑腿小程序源码如何满足多样需求?

外卖跑腿平台已经成了当代年轻人的便捷之选,校园中也不例外,那么外卖、跑腿小程序就需要满足用户多样化的需求,而这背后的源码扮演者最重要的角色。 用户类型的多样性 1.对上班族而言,他们希望外卖小程序能够快速下单、准确配送…

GeeRPC第一天 服务端与消息编码(1)

RPC 1. 系统架构图解释(Graph) 架构层次 RPC框架核心功能:这是系统的最上层,涵盖了框架的主要功能模块,直接与底层服务和用户交互。 服务层:主要负责服务的注册、发现和治理。 服务注册:将服务…

如何在谷歌浏览器中开启离线模式

在数字化时代,互联网已经成为我们生活中不可或缺的一部分。然而,有时候我们可能会遇到没有网络连接的情况,这时谷歌浏览器的离线模式就显得尤为重要。本教程将详细介绍如何在谷歌浏览器中轻松开启离线模式,并附带一些相关教程指南…

【进阶系列】正则表达式 #匹配

正则表达式 正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。re模块使 Python 语言拥有全部的正则表达式功能。 一个正则表达式的匹配工具:regex101: build, test, and debug regex s "C:\\a\\b\\c" pri…

C++使用Alglib数学库进行非线性最小二乘拟合

目录 一、前言 二、主要函数分析 2.1 lsfitcreatef 2.2 lsfitsetcond 2.3 lsfitfit 2.4 lsfitresults 三、基础代码实现 3.1 定义待拟合函数 3.2 数据拟合 四、可视化代码实现 4.1 拟合h文件 4.2 拟合cpp文件 4.2 代码实验 一、前言 本文记录基于Alglib进行非线性…

Spring Boot汽车世界:资讯与技术的交汇

2相关技术 2.1 MYSQL数据库 MySQL是一个真正的多用户、多线程SQL数据库服务器。 是基于SQL的客户/服务器模式的关系数据库管理系统,它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等,非常…

算法--“找零方案”问题

def main():d [0.01, 0.02, 0.05, 0.1, 0.2, 0.5, 1.0] # 存储各种硬币的面值d_num [] # 存储每种硬币的数量total_money 0 # 收银员拥有的总金额# 输入每种硬币的数量temp input(请输入每种零钱的数量(以空格分隔):)d_num0 temp.split() # 以空…

【UGUI】Unity 背包系统实现02:道具信息提示与显示

在游戏开发中,背包系统是一个常见的功能模块,用于管理玩家拾取的物品。本文将详细介绍如何在 Unity 中实现一个简单的背包系统,包括道具信息的提示和显示功能。我们将通过代码和场景搭建来逐步实现这一功能。 1. 功能需求清单 在实现背包系…

java基础概念31:常见API-Runtime

一、Runtime类常用方法 Runtime:表示当前虚拟机JVM的运行环境,只能有一个。 【注意】: 获取Runtime对象,只能通过getRuntime静态方法。 好处:不管在哪个类中调用Runtime方法,获取的都是同一个对象。即&…

SpringBoot 之整合gRPC

父工程中引入基本的依赖&#xff1a; <modules><module>api</module><module>client</module><module>service</module></modules><parent><artifactId>spring-boot-starter-parent</artifactId><group…

高性能linux服务器运维实战 运维深入实践

用户权限管理 用户与用户组 用户与角色分类 用户是根据角色定义的。可分三类用户角色&#xff0c;root用户&#xff0c;普通用户&#xff0c;虚拟用户 虚拟用户实际不存在&#xff0c;只是为了方便管理&#xff0c;满足进程或文件的属主需求 用户和组配置文件 /etc/passw…

景联文科技:以全面数据处理服务推动AI创新与产业智能化转型

数据标注公司在人工智能领域扮演着重要角色&#xff0c;通过提供高质量的数据标注服务&#xff0c;帮助企业和组织训练和优化机器学习模型。从需求分析到数据交付&#xff0c;每一个步骤都需要严格把控&#xff0c;确保数据的质量和安全性。 景联文科技是一家专业的数据采集与标…

上市公司企业研发操纵数据集(2008-2023年)

一、数据介绍&#xff1a;参考《财会月刊》苑泽明&#xff08;2020&#xff09;老师的做法&#xff0c;具体模型如下所示&#xff0c;TA 为总资产&#xff1b;RD 为研发支出&#xff1b;MV 为企业市值取对数&#xff1b;TBQ 为企业托宾 Q值&#xff1b;INT 为营业利润&#xff…

Maven的下载安装及配置

一、下载Maven 1、访问Maven官网&#xff1a; 打开浏览器&#xff0c;访问Maven的官方网站&#xff1a;Download Apache Maven – Maven 2、选择Maven版本&#xff1a; 在下载页面上&#xff0c;选择适合您操作系统的Maven版本。通常&#xff0c;Maven提供二进制zip归档和tar…

ISCTF 2024 web

ISCTF 2024 web 小蓝鲨的冒险 源码&#xff1a; <?php error_reporting(0); highlight_file(__FILE__); $a "isctf2024"; $b $_GET["b"]; parse_str($b); echo "小蓝鲨开始闯关&#xff0c;你能帮助他拿到flag吗?<br>"; if ($a…

Loopy为何成为IP联名新顶流,如何赋能品牌营销新高度?

在当今竞争激烈的市场环境中&#xff0c;跨界合作已成为品牌营销的重要策略之一。一个成功的跨界合作案例&#xff0c;便是Loopy IP与多个品牌的深度合作。这只来自韩国动画片《小企鹅Pororo》中的配角&#xff0c;凭借一套打工人表情包在中国社交网络迅速走红&#xff0c;并逐…

Mendix 创客访谈录|Mendix 助力西门子原生数字化工厂精益高效

本期创客 向宇轩 西门子数控&#xff08;南京&#xff09;有限公司 数字化工程师 大家好&#xff0c;我是向宇轩。专业背景是计算机科学与技术&#xff0c;毕业后加入西门子数控&#xff08;南京&#xff09;有限公司&#xff08;SNC&#xff09;担任数字化工程师的职务&#x…

C++ —— string类(上)

目录 string的介绍 string类功能的使用介绍 constructor —— 构造 介绍使用&#xff08;1&#xff09;&#xff08;2&#xff09;&#xff08;4&#xff09; &#xff1a;构造、拷贝构造、带参构造 介绍&#xff08;3&#xff09;&#xff1a;拷贝string类对象的一部分字符…