ESP32创建工程的方法,赶紧收藏起来

原创 专注于无线通信的蓬勃 2022-04-07 07:30

 零. 声明


本专栏文章我们会以连载的方式持续更新,本专栏计划更新内容如下:

第一篇:ESP-IDF基本介绍,主要会涉及模组,芯片,开发板的介绍,环境搭建,程序编译下载,启动流程等一些基本的操作,让你对ESP-IDF开发有一个总体的认识,比我们后续学习打下基础!

第二篇:ESP32-IDF外设驱动介绍,主要会根据esp-idf现有的driver,提供各个外设的驱动,比如LED,OLED,SPI LCD,TOUCH,红外,Codec ic等等,在这一篇中,我们不仅仅来做外设驱动,还会对常用的外设总线做一个介绍,让大家知其然又知其所以然!

第三篇:目前比较火热的GUI LVGL介绍,主要会设计LVGL7.1,LVGL8的移植介绍,并且也会介绍各个组件,知道原理后,最后,我们会推出一款组态软件来构建我们的GUI,来提升我们的效率!

第四篇:ESP32-蓝牙,熟悉我的,应该都知道,我即使从事蓝牙协议栈的开发的,所以这个是我们独有的优势,在这一篇章,我们会提供不仅仅是蓝牙应用方法的知识,也会应用结合蓝牙底层协议栈的理论,让你彻底从上到下打通蓝牙任督二脉!

第五篇:Wi-Fi介绍,熟悉我的,应该也知道,我们也做过一款sdio wifi的驱动教程板子,所以在wifi这方面我们也是有独有的优势,在这一篇章,我们同样不仅仅提供Wi-Fi应用方面的知识,也会结合底层理论,让你对Wi-Fi有一个清晰的认知!

另外,我们的教程包括但是不局限于以上篇章,为了给你一个更好的导航,以下信息尤其重要,请详细查看!!

------------------------------------------------------------------------------------------------------------------------------------------

购买开发板(点击我)

文档目录(点击我)

Github代码仓库(点击我)

蓝牙交流扣扣群:539357317

微信公众号↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

------------------------------------------------------------------------------------------------------------------------------------------

前言:

在这个步骤,我会默认你已经安装好了工具(VSCODE ESP-IDF),并且已经拿到我们的开发板,你在这个章节会收获:

1)使用VSCODE进行编译代码,下载代码,运行代码

2)使用ESP-IDF的插件创建一个新的工程

3)自己创建一个工程,并且加文件扩展

4)熟悉部分esp-idf的API

一.程序编译

这个部门我们来学习下整个ESP32在VSCODE中是怎样编译的!

我们先不学习创建工程,先使用esp-idf example中提供的最简单的一个工程hello world(路径在esp-idf\examples\get-started\hello_world)

步骤一: 使用VSCODE打开菜单: 文件->打开文件夹(选择你的idf目录,选择esp-idf\examples\get-started\hello_world),打开后就是这个样子

步骤二: 点击底部红色编译按钮,等待编译完成

漫长等待,终于编译好了,如图,会统计出来各个字段的信息

二.程序烧录

我们的板子是使用UART直接烧录程序,所以不需要额外的接下载器

步骤一:选择要烧录的UART COM口

备注:此时COM口不能被占用

步骤二:选择开发板为ESP32

步骤三:在VSCODE的底部点击烧录按钮烧录

在这里你可能会提出一个问题,那我也大概猜到大家有什么问题,就是如果我在产线中,或者想给别人验证一下程序,却不能给源码,那么我要怎么烧录?

OK,收到,我们接下来来回答这个问题,我们使用的是这个工具flash_download_tool_3.9.2.exe

步骤一:我们打开这个工具,勾选如下:

然后打开工程的build路径,勾选如下,然后点击start

完成之后点击stop

备注:并不是所有工程这么配置,这个要根据不同的项目不同的地址以及配置,所以要询问给你这写bin的人,那这个工程的信息我是从哪看到的人?是VSCODE中下载的时候会提示如下信息:

> Executing task: C:\Users\12475\.espressif\python_env\idf4.3_py3.8_env\Scripts\python.exe C:\Users\12475\esp\esp-idf\components\esptool_py\esptool\esptool.py -p COM5 -b 460800 --before default_reset --after hard_reset --chip esp32 write_flash --flash_mode dio --flash_freq 40m --flash_size detect

0x10000 hello-world.bin

0x1000 bootloader/bootloader.bin

0x8000 partition_table/partition-table.bin

三.程序运行

我们打开板子的串口,会看到输出以下日志!

整个程序的逻辑是10S重启一次,下面我们来分析下程序

/* Hello World Example

   This example code is in the Public Domain (or CC0 licensed, at your option.)

   Unless required by applicable law or agreed to in writing, this
   software is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
   CONDITIONS OF ANY KIND, either express or implied.
*/
#include <stdio.h>
#include "sdkconfig.h"
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "esp_system.h"
#include "esp_spi_flash.h"

void app_main(void)
{
    printf("Hello world!\n");

    /* Print chip information */
    esp_chip_info_t chip_info;
    esp_chip_info(&chip_info);
    printf("This is %s chip with %d CPU core(s), WiFi%s%s, ",
            CONFIG_IDF_TARGET,
            chip_info.cores,
            (chip_info.features & CHIP_FEATURE_BT) ? "/BT" : "",
            (chip_info.features & CHIP_FEATURE_BLE) ? "/BLE" : "");

    printf("silicon revision %d, ", chip_info.revision);

    printf("%dMB %s flash\n", spi_flash_get_chip_size() / (1024 * 1024),
            (chip_info.features & CHIP_FEATURE_EMB_FLASH) ? "embedded" : "external");

    printf("Minimum free heap size: %d bytes\n", esp_get_minimum_free_heap_size());

    for (int i = 10; i >= 0; i--) {
        printf("Restarting in %d seconds...\n", i);
        vTaskDelay(1000 / portTICK_PERIOD_MS);
    }
    printf("Restarting now.\n");
    fflush(stdout);
    esp_restart();
}

我们首先来看下esp_chip_info 这个函数,这个函数的描述在以下连接:

Miscellaneous System APIs - ESP32 - — ESP-IDF 编程指南 v4.4 文档

分别能拿到芯片的类型/几核的CPU/支持的Feature(WIFI/BT/BLE/MESH/是否是内置的Falsh)/芯片的版本 信心

esp_get_minimum_free_heap_size,这个函数的描述在以下连接:

Miscellaneous System APIs - ESP32 - — ESP-IDF 编程指南 v4.4 文档

vTaskDelay,这个函数在一下连接,是FreeRTOS的函数

FreeRTOS - ESP32 - — ESP-IDF 编程指南 v4.4 文档

spi_flash_get_chip_size这个函数需要仔细阅读下以下连接:

SPI Flash API - ESP32 - — ESP-IDF 编程指南 v4.4 文档

总之这些API都比较简单,基本一看就会的那种,所以我在这里不再详细赘述!

OK,学到这里,你应该学会了基本的编译下载操作,

在运行了板子得到我们想要的结果后,你可能想自己练下手,创建一个工程,好了,那我们开始实操下!

四.自己创建一个工程

有两种方法,第一种是用esp-idf自带的组件来创建一个工程,第二个是我们自己创建一个工程,下面我们就分别介绍下:

1.使用原生的ESP-IDF的插件

步骤1)选择菜单栏,查看->命令面板,在里面搜索create project from extersion template

步骤2) 选择要创建工程的路径

步骤3)选择工程的类型

步骤4)在main.c的app_main函数我们添加一个打印printf

步骤5)用我们上面学的编译下载的步骤,我们把程序下载到板子中,我们看下运行效果

备注:我们暂时记住目前esp-idf所有的程序都是通过app_main这个函数入口开始,其他的暂时不用深究,我们会在后面做一个详细的介绍!

2.复制现有的工程

步骤一: 我们直接把esp-idf\examples\get-started中的sample_project复制一个工程,修改名字为wireless_link_project,如图:

步骤二:修改其中的Makefile的PROJECT_NAME为wireless_link_project

步骤三:编辑工程中的main.c

步骤四:按照我们前面介绍的方法进行编译下载,我们看下程序执行效果

专注于无线通信的蓬勃 朝气蓬勃——不积跬步 无以至千里, 不积小流 无以成江海
评论 (0)
  • 近年来,越来越多的企业在5S管理的基础上,开始追求6S、7S甚至8S管理,仿佛S越多,管理就越先进,企业就越优秀。于是,6S增加了“安全”,7S又加上了“节约”,8S甚至引入了“学习”……看似更加全面,实则很多企业只是机械地增加S,却忽略了管理的核心目标:提升效率、降低浪费、优化工作环境。优思学院认为,5S本身已经是一套成熟的精益管理工具,它的核心理念不仅简单高效,而且易于实施和推广。如果企业只是为了赶时髦,盲目增加S,而没有真正理解5S的本质,那么这些额外的“S”很可能会变成管理上的负担,而不
    优思学院 2025-03-07 12:43 267浏览
  • 深圳触觉智能SOM3506核心板现已上市,搭载瑞芯微RK3506B/J超低功耗处理器(1.5GHz三核A7+M0),低功耗满载仅0.7W,支持40℃~85℃工作环境,即日起宽温级59元/工业级68元,特价开售!芯片介绍RK3506是瑞芯微Rockchip在2024年第四季度全新推出的Arm嵌入式芯片平台,三核Cortex-A7+单核Cortex-M0多核异构设计,CPU频率达1.5Ghz, M0 MCU为200Mhz。RK3506适用场景简介工业控制‌:RK3506适用于工业控制、工业通信、人机
    Industio_触觉智能 2025-03-07 10:03 190浏览
  • 在企业管理和职场环境中,权力是一个常被提及却又让人感到微妙的话题。有人觉得它充满吸引力,有人却对它避之不及。然而,不管你对权力的态度如何,理解它、掌握它,甚至善用它,都是职场成功的重要一环。今天,我们就来深入探讨权力的本质,特别是个人权力和社会权力的区别,以及如何在职场中逐步建立属于自己的影响力。权力的两种面貌:你掌控自己,还是掌控他人?说到权力,首先要区分它的两种类型。个人权力是你对自己生活的掌控感。比如,你能自由决定自己的职业方向,不用总是请示他人。这种权力让人感到踏实和满足,是我们在生活中
    优思学院 2025-03-07 15:56 290浏览
  • 一、系统概述MYD-LD25X搭载的Debian系统包含以太网、WIFI/BT、USB、RS485、RS232、CAN、AUDIO、HDMI显示和摄像头等功能,同时也集成了XFCE轻量化桌面、VNC远程操控、SWITCH网络交换和TSN时间敏感网络功能,为工业设备赋予“超强算力+实时响应+极简运维”的体验!类别名称描述源码TF-AArm Trusted Firmware 2.8OP-TEEOP-TEE 3.19BootloaderU-boot 2022.10KernelLinux Ke
    米尔电子嵌入式 2025-03-07 14:08 326浏览
  • 深圳触觉智能RK3506开发板现已上市,开启预售!搭载瑞芯微RK3506B/J超低功耗工业处理器(1.5GHz三核A7+M0,主频1.5GHz);支持1280×1280显示、双百兆网口、星闪无线三模,板载高达2路CAN FD与5路串口。RK3506适用场景简介工业控制‌:RK3506适用于工业控制、工业通信、人机交互等应用场景。其多核异构架构(3xCortex-A7+Cortex-M0)和外设接口丰富,支持Buildroot、Yocto系统,适合轻量级HMI应用‌。‌工业通信‌:RK3506均支
    Industio_触觉智能 2025-03-07 10:04 159浏览
  • 3月9日,海信电视举行“巅峰画质 影游旗舰”新品发布会,正式发布E8Q旗舰系列电视新品,搭载全球首颗信芯AI画质芯片H7、全新升级的黑曜屏Ultra、330Hz系统级高刷、U+Mini LED光晕控制系统、影院级帝瓦雷声学系统五大行业首发科技,为极致影游爱好者打造电视画质的巅峰之作。海信电视E8Q系列提供65/75/85/100/116英寸五个版本,其中E8Q Pro零售指导价为75英寸/13599元、85英寸/17999元、100英寸/27999元;E8Q零售指导价为65英寸/7499元、75
    华尔街科技眼 2025-03-09 20:52 97浏览
  • 文/Leon编辑/cc孙聪颖2025年全国两会进行时,作为“十四五”规划收官之年,本届两会释放出坚定目标、稳中求进、以进促稳等信号。其中,企业家们的建议备受关注,关系到民营经济在2025年的走向。作为国内科技制造业的“老兵”,全国人大代表、TCL集团创始人及董事长李东生在本届两会中提出三份代表建议,包括《关于优化中国科技制造业融资环境的建议》、《关于加强AI深度伪造欺诈管理的建议》和《关于降低灵活就业人员社会保险参保门槛的建议》,表现出对科技制造、AI发展和劳动者保障方面的关注。会后,李东生接受
    华尔街科技眼 2025-03-06 19:41 158浏览
  • 文/Leon编辑/cc孙聪颖2025 年全国两会正如火如荼地进行,这一备受瞩目的年度盛会,再度成为社会各界聚焦的核心。会议期间,代表们积极建言献策,诸多建议迅速引发舆论热潮,频繁登上热搜榜单。其议题范畴极为广泛,紧密围绕产业革新、民生保障与就业促进、教育优化升级、AI 技术规范与发展等多个关键领域展开探讨。这些热点议题不仅精准呼应了当下经济社会发展的紧迫需求,更深度契合了民众对美好生活的向往与诉求,因此在网络空间中激起千层浪,吸引了海量网民的高度关注 。全国人大代表、美的集团首席财务官钟铮,今年
    华尔街科技眼 2025-03-08 20:11 96浏览
  • 服务器应用环境与客户需求PCIe 5.0高速接口技术的成熟驱动着生成式AI与高效能运算等相关应用蓬勃发展。在随着企业对服务器性能的要求日益严苛,服务器更新换代的周期也持续加快。在此背景下,白牌与DIY(Do It Yourself)服务器市场迎来了新的发展契机,但同时也面临着更趋复杂的技术挑战。传统上,白牌与DIY服务器以其高度客制化与成本效益优势受到市场青睐。然而,随着PCIe 5.0等高速技术的导入,服务器系统的复杂度大幅提升,对组装技术与组件兼容性也就提出更高的要求。举个简单的例子来说,P
    百佳泰测试实验室 2025-03-06 17:00 181浏览
  • ​CS6212是一款可分别用于USB Type-C主机/显示端口源应用的带重定时的有源开关。这设备符合USB 3.2标准版本1.0和USB Type-C标准上的VESA DisplayPort Alt模式 1.0版,支持通过GPIO或12C进行灵活的模式切换。此设备支持USB 3.2第2x1代 运行速度高达10Gbps,DisplayPort 1.4运行速度高达HBR3 8.1Gbps。CS6212管脚分布及功能定义:CS6212支持重定时器训练,并支持USB 3.2标准中定义的状态状态机(RT
    QQ1540182856 2025-03-07 10:09 198浏览
  • Sub-GHz,即工作频段低于1GHz的无线通信技术,常见频段有315MHz、433MHz、868MHz与915MHz等。其可借助无线电波在自由空间传播的特性,把数据调制到射频载波上进行传输,达成物联网设备间的无线通信,是物联网设备实现高效、稳定、无缝交互的“通信基石”。典型射频信号(无线电波)收发电路简示在工业自动化、智慧城市、智慧农业与智能家居等物联网领域中,LoRa、Wi-SUN、Z-Wave、Sigfox等工业级通信协议大多运行在Sub-GHz频段。而正是通过Sub-GHz射频技术,传感
    华普微HOPERF 2025-03-07 11:39 224浏览
  •        深夜的公园里,当路灯熄灭后,传统监控摄像头只能拍出模糊的黑白画面,仿佛老式胶片电影里的场景。而搭载为旌瑶光ISP的摄像头,却能像猫科动物一样,在几乎全黑的环境中捕捉到行人衣服的颜色、树叶的纹理,甚至快速跑动的宠物狗毛发细节。这种从“黑白默片”到“全彩4K电影”的跨越,背后是为旌瑶光ISP对传统红外补光技术的颠覆性创新。一、传统方案之困:被红外光“绑架”的夜视世界        传统安防摄像头依赖红外
    中科领创 2025-03-07 16:50 438浏览
  • 文/郭楚妤编辑/cc孙聪颖在这个瞬息万变的时代,流量的到来毫无预兆,不知哪片云会带来降雨。哪怕行事极为低调,也可能在不经意间成为舆论焦点。原本团结、紧张、严肃的全国两会,就因一位来自商界的人大代表周云杰的意外走红,变得活泼起来。周云杰是海尔集团董事局主席、首席执行官,在两会期间以一种意想不到的方式进入大众视野,成为网络热议的焦点人物。故事得从 3 月 5 日讲起。当日,第十四届全国人民代表大会第三次会议首场 “代表通道” 集中采访活动在北京人民大会堂举行。小米公司创始人雷军以全国人大代表的身份亮
    华尔街科技眼 2025-03-08 20:30 110浏览
  • 多人同时共享相同无线网络,以下场景是否是您熟悉的日常?姐姐:「妈~我在房间在线上课,影音一直断断续续的怎么上课啊!」奶奶:「媳妇啊~我在在线追剧,影片一直卡卡的,实在让人生气!」除此之外,同时间有老公在跟客户开在线会议,还有弟弟在玩在线游戏,而妈妈自己其实也在客厅追剧,同时间加总起来,共有五个人同时使用这个网络!我们不论是在家里、咖啡厅、餐厅、商场或是公司,都会面临到周遭充斥着非常多的无线路由器(AP),若同时间每位使用者透过手机、平板或是笔电连接到相同的一个网络,可想而知网络上的壅塞及相互干扰
    百佳泰测试实验室 2025-03-06 16:50 169浏览
我要评论
0
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦