从零开始学ESP32:个人笔记记录:
芯片型号: ESP32
网络环境支持:LWIP
IDF.PY-SDK: ESP-IDF v4.3
芯片功能: 支持STA/AP网络共存模式:
工程: esp-idf/examples/get-started/hello_world
一、hello_world整一个工程都拷贝出来,然后编译执行一下(过程看乐鑫官网)
二、在工程目录建立一个目录(components)也就是和main目录同一个目录
三、在components目录下面建立各个子项目录
整体目录结构如下:
**在每一个.c 和 .h的文件目录里都应存在 CmakeLists.txt 和 component.mk **
一、首先要想使用到系统里面的默认提供的工具库函数(json / spi_flash /LWIP )等待AIP
CmakeLists.txt
/* test.c 是你自己实现的代码文件 */
/* 第一种连接外部API头文件方法 */
idf_component_register(SRCS "test.c"
INCLUDE_DIRS "$ENV{IDF_PATH}/components/lwip/include"
INCLUDE_DIRS "$ENV{IDF_PATH}/components/spi_flash/include"
INCLUDE_DIRS "$ENV{IDF_PATH}/components/nvs_flash/include"
INCLUDE_DIRS ".")
/* 第二种连接外部API头文件方法 */
idf_component_register(SRCS "test.c"
REQUIRES lwip
REQUIRES json
REQUIRES mqtt
REQUIRES spi_flash
REQUIRES nvs_flash
INCLUDE_DIRS ".")
component.mk
/*这个文件基本都是这个配置*/
COMPONENT_ADD_INCLUDEDIRS := .
二、要想连接自己各个目录的代码
自身实现的代码进行跨目录调用:
CmakeLists.txt
/* REQUIRES 的对象是你 对应的目录名字 */
idf_component_register(SRCS "key.c"
REQUIRES gpio
REQUIRES led
REQUIRES lcd
INCLUDE_DIRS ".")
component.mk
/*这个文件基本都是这个配置*/
COMPONENT_ADD_INCLUDEDIRS := .
在main目录下面的hello_world_main.c文件进行调用
头文件
/*基本用到什么头文件 就添加 */
#include "led.h"
#include "gpio.h"
#include "key.h"
#include "lcd.h"
CmakeLists.txt
idf_component_register(SRCS "key.c"
REQUIRES gpio
REQUIRES led
REQUIRES lcd
INCLUDE_DIRS ".")
component.mk
COMPONENT_ADD_INCLUDEDIRS := .
说明:笔记使用-记录(抄袭我就吊你 J J )
关注微信公众号 一起学习 ( 技术Code城 )