ESP32多个demo如何融合到一个项目中

在ESP32开发过程中,乐鑫官方提供了很多的例程,帮助我们学习使用各个功能,但是,每个例程只有其特定的功能,因此,需要我们将各个例程组合起来才能实现我们想要的功能。

对于大佬来说就很简单。但是,对于新手来说就比较难找到(毕竟太简单了,都没人记录,小编踩坑很久,所以给大家分享一下,之前各种改宏定义都试过也编译不过)

以下分析以wifi和以太网为例

首先,我们打开一个单一的工程,查看工程的组成部分

此时,我们可以看到有很多的config文件,一定要注意,我们修改的是Kconfig.projbuild,所有的设置(idf.py menuconfig)里面的宏都是在这添加的,添加方式就是复制粘贴过来(有冲突的(相同的)去掉即可),但记得复制的时候menu "Example Configuration" 不要复制,因为一个文件里面只有一份,同样的,多余的也可以在这删除。   

此时,默认宏定义已经添加完成,但是,我们修改不可能每次都到此处修改,因此我们还需要学会到idf.py menuconfig进行配置(但是,在idf.py menuconfig配置之前必须先在Kconfig.projbuild先添加,否则idf.py menuconfig不会出现该选项)

扫描二维码关注公众号,回复: 16222596 查看本文章

当然,如果不适应使用命令行也有方法(小编建议多练练使用命令行,命令行其他地方也常用),此时我们可以在vs code找到sdkconfig文件,在此文件中输入配置即可(修改sdkconfig文件和配置idf.py menuconfig功能一致),但需要注意的是,此处可以直接解除屏蔽开启功能

经过上述修改,配置基本完成,可以开始修改代码了。

此时我们将另外一个工程函数复制过来(main函数不能复制,static const char *TAG = "eth_wifi_example";不能复制),然后将头文件也复制过来(重复的头文件去除),然后将demo的主c文件中的宏定义也移植过来

之后将一些全局变量也移植过来

其他项目移植拼接道理一致,项目裁剪则反向操作,自此可以写逻辑了,下一篇文章将会讲解流式代码架构写wifi以太网切换。

猜你喜欢

转载自blog.csdn.net/m0_45068979/article/details/131309763