0%

esp-idf开发esp32

环境搭建

  1. 安装Visual Studio Code(下面简称vscode)
  2. 安装python3.7.8(添加环境变量)、Git工具、CMake
  3. vscode安装ESP-IDF Explorer插件,一键安装idf工具(国内速度慢)
  4. 通过这个插件安装esp-idf可能会失败,我当初用手机流量+梯子装的很快

使用idf

Windows开发建议在vscode中使用esp-idf explorer插件

vscode还支持macOS和Linxu,未试过在其他操作系统使用该插件

直接使用esp-idf

  1. %USERPROFILE%\esp\esp-idf目录下examples文件夹内有例程

  2. 每次用idf工具,需要执行%USERPROFILE%\esp\esp-idf目录下的export添加环境变量,我是Windows,需要执行export.ps1,使用export.bat无效,ps1是Windows Power Shell脚本,需要电脑开启运行脚本权限,在管理员模式下Shell输入set-executionpolicy remotesigned开启权限,然后就可以运行export.ps1

  3. 在工程文件夹内使用idf.py menuconfig来配置工程

  4. 使用idf.py build来编译程序(首次编译或更改SDK后的速度慢)

  5. idf.py -p PORT flash monitor来下载程序

使用esp-idf explorer插件

  • 这个工具非常好用,有GUI配SDK,在vscode用插件指令可以编译下载等

  • 参考:ESP-IDF VS Code 插件快速操作指南

  • vscode cmd >ESP-IDF:Show Examples Projects基于例程新建工程

  • 编译,下载,调试,设置sdk等功能点点左下角图标就可以

我的esp项目

需求

通过esp32把红外热像Demo板的温度信号用TCP发到电脑上

ESP和Demo板Uart通信

  • 参考esp例程:uart_events

ESP和电脑TCP通信

  • 参考esp例程:tcp_client

遇到的问题

  1. uart通信波特率设成921600时,接收会hw fifo overflow,esp没有DMA例程,通过降波特率解决
  2. socket通信电脑端接收的时候不断更改recv(new_fd, buff, BUFSIZ, 0)buff指针会程序中断,未查出原因,通过把每次接收到的数据包写入文件解决