资讯专栏INFORMATION COLUMN

ESP32 ESP-IDF开发环境搭建,Windows下基于ESP-IDF | Cmake | VS

TalkingData / 3674人阅读

摘要:之前一篇博客搭建开发环境发布后,深受好评。乐鑫官方提供插件,一站式安装,直接将升格为,配合上原有的插件主题,的过程十分惬意。目前已开放预览版本,功能涵盖等外设驱动,下一步准备扩充解码库有线以太网和一些网络通信的。

之前一篇博客 ESP-IDF搭建ESP32开发环境 发布后,深受好评。几个月过去了,乐鑫的esp-idf-tools安装工具发生了较大的变化,VsCode插件的功能也愈加完善,在此更新下最新的安装过程。

  同期间,我在ESP32的开发学习过程中,总结了一套使用方法,并将其汇总为一个开源驱动库 - Easyio,目的是简化ESP-IDF开发框架的使用难度。目前已开放预览版本,功能涵盖GPIO、Key、UART、ADC、DAC、RMT、I2C、SPI、LCD、SDCard等外设驱动,下一步准备扩充jpeg解码库、OTA、LVGL、WIFI/BLE、有线以太网和一些网络通信的Demo。库的导入方式简便,直接拖入工程的components文件夹下即可使用。适合与此教程配套使用,详见:Easyio驱动库-Github


  言归正传,限于篇幅,开源驱动库 - Easyio 的使用会在本专栏的其他文章介绍,下面开始正题:Windows下基于 ESP-IDF | Cmake | VScode插件的 ESP32 开发环境搭建。


一、获取 ESP-IDF 和 esp-idf-tools


  • 获取 ESP-IDF(建议V4.2版本,V4.3版本与我的Easyio驱动库有兼容性问题):ESP-IDF-Github
  • 下载esp-idf-tools-setup安装工具,此工具专为windows平台下快速安装ESP-IDF而设计:esp-idf-tools工具下载

  乐鑫最新的ESP-IDF版本为 V4.3,但在适配easyio库的过程中,发现很多奇怪现象,不单单是编译不通过的问题,有些能编译但在硬件上运行报错,就很离谱。而这些问题在V4.2上则不存在。鉴于V4.2已经对ESP32提供了足够的支持,V4.3着重添加了ESP32-S2/C3的功能,而自己的easyio库暂时没有兼并ESP32-S2/C3的精力,于是推荐使用V4.2版本。

  我这台电脑之前已经安装了esp-idf-v4.3,再安装V4.2需要存放到不同的路径。



二、安装 esp-idf-tools-setup


  • 运行esp-idf-tools-setup安装工具。接受,NEXT。

  • 使用本地的ESP-IDF,选择刚刚解压的目录。

  • ESP-IDF Tools安装路径,默认 Next。
    注意:如果以前安装了其他版本的ESP-IDF,建议这里手动更改下文件夹路径。

  • 默认,下一步,安装。

  • 等待安装完成。

  • 之后ESP-IDF在本地就已经安装好了,桌面上会生成几个快捷方式。

  • 通过这些工具,能够完成对ESP32工程的编辑、编译、调试工作。不过由于ESP-IDF Eclipse体验不佳,下面使用VSCode插件,将VSCode作为ESP32开发的IDE。



三、VSCode插件安装


  本来呢,Vscode是不能被叫做IDE的,不过乐鑫提供了一个异常强大的插件…于是就顺理成章的转正了。乐鑫官方提供Vscode插件,一站式安装,直接将Vscode升格为IDE,配合上Vscode原有的插件、主题,coding的过程十分惬意。

  • 打开VSCode,搜索esp-idf,安装插件。

  • 插件安装完后,查看 - 命令面板(快捷键Ctrl+Shift+P)。

  • 输入 configure esp-idf extension,点击。

  • 选择高级。

  • 修改IDF版本,选择刚刚安装的IDF本地目录。

  • 等待安装。

  • 安装缺少组件。

  • 最终安装成功。



四、用VSCode创建ESP32工程


  VSCode插件已经安装好了,下面介绍下功能。

  首先用 Vscode插件,从SDKDemo 中创建个新工程。

  • 查看 - 命令面板(快捷键Ctrl+Shift+P)。
  • 输入show examples projects,点击。
  • 点击弹出的 Use current ESP-ID,使用本地SDK
  • 最终显示这样的界面。左侧是SDK中的Demo列表,右侧是Demo的功能描述。
  • 点击例程 blink,点击 Create project using example blin
  • 创建一个最简单的工程blink,作为示例。
  • 选择一个文件夹,作为工程的存放路径。
  • 之后插件就会以SDK中的blink为模板,自动创建一个新工程。

  • blink.c的功能很简单,配置Pin 5为推挽输出IO,以1s为间隔让灯在亮灭的状态间切换,并用串口打印状态。

  • 留意左下角的图标。从左到右分别是:选择下载端口设置(插件化的 MenuConfig)清理工程(clean)编译(build)下载(flash)打开调试终端(monitor)一键 编译+下载+打开调试终端

  • 左下角是插件提供的一些工具,功能为:
    最后一个像火苗的图标,他的功能是 build + flash + monitor。可以一键完成 编译下载打开监视窗口,写完代码自己去喝茶转转,等它自动完成就行。

  • 代码内容是让 GPIO Pin 5 来回输出0/1的电平,来控制LED闪烁。

  • 而我电路连接的LED是在别的GPIO上,需要更改输出端口。

  • LED输出端口的更改可以在 blink.c 中,直接修改 BLINK_GPIO 宏定义。

  • 也可通过左下角的 GUI Configuration tool 来配置LED端口,将以前的5改为自己电路的端口。

  • 更改后,点击保存。就可以将这个窗口x掉了。

  • 因为我们的硬件平台是ESP32,而ESP-IDF默认编译输出对象就是ESP32,不需要额外更改。

  • 插入开发板,点击左下角的选择端口图标,选择端口。(需要提前安装USB转串口的驱动)

  • 再点击最末尾的图标,进行一键 编译下载打开监视窗口

  • 运行现象,开发板LED闪烁,终端输出LED亮灭状态。


注意


后续、Easyio开源驱动库-使用教程

  我在ESP32的开发学习过程中,总结了一套使用方法,并将其汇总为一个开源驱动库 - Easyio,目的是简化ESP-IDF开发框架的使用难度。目前已开放预览版本,功能涵盖GPIO、Key、UART、ADC、DAC、RMT、I2C、SPI、LCD、SDCard等外设驱动,下一步准备扩充jpeg解码库、OTA、LVGL、WIFI/BLE、有线以太网和一些网络通信的Demo。库的导入方式简便,直接拖入工程的components文件夹下即可使用。适合与此教程配套使用,详见:Easyio驱动库-Github

ESP32开源驱动库Easyio的使用,基于ESP-IDF开发框架,非Arduino


参考资料 在线帮助文档

ESP-IDF 快速入门

ESP-IDF API编程指南

ESP32 硬件设计参考

欢迎点赞、收藏,后续会陆续更新ESP32Easyio的使用。开发板计划也在进程中,敬请期待。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/119626.html

相关文章

  • ESP32开源驱动库Easyio的使用,基于ESP-IDF开发框架,非Arduino

    摘要:是一款适配于框架的开源驱动库,以支持的简便开发。目的是简化乐鑫开发框架的使用难度。相关教程本专栏内容开发环境搭建开发环境搭建,下基于插件的开发环境搭建乐鑫在线帮助文档快速入门编程指南硬件设计参考 ...

    Harriet666 评论0 收藏0
  • ESP32-S3 搭建 micropython 开发环境,固件编译,烧录

    摘要:环境搭建环境搭建系列芯片的开发绝大部分都是经由乐鑫科技提供的软件开发工具包来进行的,也需要应用此。如果是使用乐鑫科技官方的下载工具在平台则可以直接通过芯片接口将固件烧录进。简述上手了一块乐鑫科技官方推出的ESP32-S3-DevKitC-1开发板,发现 ESP32-S3 的综合性能较比前两代有着非常明显的提升,wifi与蓝牙功能,更充足的外设扩展能力,可以看出其在未来物联网开发应用中将占有更...

    番茄西红柿 评论0 收藏2637
  • ESP32-S2上使用SPI接口芯片DM9051NP转以太网的无线物联网网关开发指导

    摘要:前言芯片接口占用管脚数量比以太网的少,版线布局可更精简。网卡芯片介绍接口网卡芯片是为方物联网行业进以太网通信而开发出的解决方案。此应用可用于监控家庭物联网网关搭建等。 前言     DM9051NP芯片 SPI接口占用管脚数量比以太网PHY的RMII/MII少,PCBA版线布局可更精简。...

    wangjuntytl 评论0 收藏0
  • ESP32-IDF开发实例-非易失性存储(NVS)数据存取

    摘要:非易失性存储数据存取是一系列高度集成的专为移动设备可穿戴电子产品设计的物联网模块,其集成了天线开关功率放大器低接收噪声放大器,滤波器电源管理模块等,可以独立运行应用,也可以通过或接口为其他设备提供和蓝牙功能。本次实例将实现数据和简单存取。 ...

    huhud 评论0 收藏0
  • 启明云端分享|ESP32开发环境时,常遇到的问题答疑(FAQ)

    摘要:目录开发环境调试分析环境搭建问题描述及解答开发环境调试分析下使用官方环境安装包出现错误。大部分情况下是因为网络问题下载错误,具体错误查看错误。已存在虚拟环境,则需要删掉重新安装。 ...

    scwang90 评论0 收藏0

发表评论

0条评论

TalkingData

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<