【ESP】一小时速通入门笔记
前言: 之前上学时就用过一次esp32, 当时初次使用搭建编译环境费了老大功夫.在我第一篇esp32笔记中也有说明.以至于我好像忘记记录完整的入门笔记了.最近因为工作需要又开始接触esp32才发现,现在已经方便得多了.顺利的话一小时速通.
前排提醒: 本笔记编写于 [2024年11月10日] ,随着时间的推移, 笔记中提到的官网链接和说明布局可能会有较大的变动.不过应该本质核心操作方向不会变.
一、准备ESP
- esp3分为芯片,模组 ,开发板三类.
- 一般就是是买模组然后根据需要为其制定外围电路.或是直接买开发板入门.
- 最后都是为芯片编写程序,烧录程序.
二、开始速通
-
通过搜索引擎找到
esp32-idf
编程指南.
-
注意文档是持续更新的,所以你可能看到的模样和我不同.通过左边的下拉框可以查看和选择文档版本. 注意不同文档变化的位置较大.建议直接使用
在文档中搜索
功能.
-
下拉找到在win系统下的安装方法指导.
在windown中开始创建工程
. 注意不同文档变化的位置较大.建议直接使用在文档中搜索
功能.
-
然后找到
ESP-IDF 工具安装器
的链接. 注意不同文档变化的位置较大.建议直接使用在文档中搜索
功能.
-
选择第一个在线安装或第三个离线安装. 截止目前为止,安装的esp-ide并不好用.所以不建议选第二个.
-
下载好后放在没有中文,没有空格的路径下.
-
开始傻瓜式下一步
-
注意:这一步是检查安装环境,检查完后要点击
应用修复
.修复完后才能点击下一步!
-
注意: 这里的安装路径不能有中文和空格!!!
-
选择完全安装, 反正东西不多.注意这里提到的
python
,git
,esp-idf
,IDF_TOOLS_PATH
.安装器主要就是安装这几个东西. 之后会反复提到. 然后idf里包含了几个"芯片包",ESP32
,ESP32-C3
等等…
-
最后安装完成.检查一下系统的环境变量.
IDF_TOOLS_PATH
. -
还有在
PATH
中添加idf-git
工具和idf-python
工具的路径!!!
-
还有其他环境变量, 比如
IDF_PATH
, 目前不是必须, 就略过. -
如果不使用安装自带的终端,才会用到 .
-
安装完后会有2个终端的快捷方式.直接打开就会加载所需的所有环境变量.
-
到idf路径内拷贝1个经典的
hello_word
例程试试.记得要拷贝出来,不要玷污了原本的idf.
-
然后在打开的idf终端里进行
cd
跳转.
-
开始之前先确认一下,手头上的esp32是系列.具体可以到官网查.然后先切换指定"芯片包".就是一开始安装时提示的那些esp32系列.
-
使用
idf.py set-target {***}
命令切换,括号内就是芯片包的简称.默认就是eps32
,可以不用切换.
-
调用
idf.py build
编译.初次编译会相当慢!
-
编译完成后要下载, 需要准备一个usb转ttl的工具.淘宝有很多款式售卖.注意,最好包含
DTR
和RTS
引脚功能的.
-
esp32的
GPIO0
就是BOOT
引脚,使用的串口烧录,所以要下拉接地. -
esp32的
CIHP_PU
就是RESET
引脚,烧录瞬间要是复位的起始状态. -
如果你的usb转ttl工具没有
DTR
和RTS
引脚功能,那就要手动将GPIO0
接地,和CIHP_PU
复位电平,或是手动断电上电复位. 梦回51烧录.
-
接好线后就可以开始烧录了.
idf.py {-p COM8} flash
. 如果不指定端口号, 那么终端会自己遍历所有能用的端口号挨个尝试.查看端口可以通过串口工具
或是win的设备管理器,不赘述了.
-
烧录完成后可以通过
idf.py {-p COM8} monitor
打开串口监视器,看看到模块的复位日志(绿色), 和打印的内容(白色).按组合快捷键Ctrl+]
退出监视器.
-
然后我们可以打开工程的
hello_world_main.c
文件,随便改点打印内容.然后重新编译,再监听.看看效果.
-
至此就算玩成最基本的操作,建立工程,修改,编译,下载,监听.
-
另外,esp支持图形化修改程序.使用
idf.py menuconfig [--help]
指令打开.加个后缀--help
可以查看更多说明.这里不赘述了. -
这个功能其实是基于工程的规范性给出的.esp库定义了很多宏定义,修改宏定义值相应的功能就会被修改.但是普通人开发很多根本不按照预定规范,所以实际上这个功能用不起来.
-
最后还缺一个
IDE
,官方安装器中自带的ide是魔改的Espressif
,非常不好用,卡得要死,而且安装后不能立刻用,还要改设置和编译工具.我至今一次没成功过. -
一般推荐使用免费开源的
VS Code
,轻量级,直接官网下载安装包或压缩包.解压即用.
官网好像将下载页面藏起来不给人下载
zip
版.目前通过其他大佬分享找到:
(2023)最新VSCode安装包(.zip版本),解压缩直接用
https://blog.csdn.net/qq_47574956/article/details/131221381
-
解压就用,然后选择文件夹,打开
.c
文件.
-
提示需要一个插件,识别
c/c++
文件.点击自动安装,或者手动搜素安装.
-
安装好后会提示选择编译链,略过.然后会提示找不到头文件.
-
把鼠标放上去,就会提示添加/修改头文件路径(第一个).
-
点击后可能会跳到这个
c/c++
页面, 同时会在工程目录生成一个.vscode/c_cpp_properties.json
配置文件.直接修改它就好了.
ESP32的ESP-IDF在VScode工程下,头文件标红警告、报错、无法跳转
https://blog.csdn.net/weixin_49337111/article/details/135167692#comments_35196774
vscode使用compile_commands.json配置includePath环境
https://blog.csdn.net/qq_37868450/article/details/105013325
-
在
"configurations"
内添加"compileCommands": "${workspaceFolder}/build/compile_commands.json"
.注意 这里引用了一个编译生存的.json
, 也就是说要编译后才存在的!!!
-
这个时候就不会报错了.不过你可能还是无法跳转,缺少一个esp插件.
-
在应用里搜索
ESP-IDF
插件,并下载安装.
-
然后整个
vscode
就多了很多的东西.左边多了一个esp图标,点击会有一列菜单选项.底部会有esp工程相关的. -
从左到右分别是idf版本选择,端口号选择,芯片包选择,等等,编译,烧录,清空编译,监听等功能也在其中.
-
先配置一下esp插件的内容点击下图中
Configure ESP-IDF Extension
,会弹出界面ESP-IDF Setup
,选择第三个USE EXISTING SETUP
已有的目录.选择第一个是在线下载安装.我们已经安装并验证好idf了,这里直接选择已有目录.
-
检查一下路径对不对.
idf
,python
,git
,三者的路径.
-
然后就算完成配置了,左下角会显示idf的版本号,并且弹出这个启动页面.可以创建和导入工程,还有查看例程.例程的路径上面已经说过了,如果看到合适的就可以直接拷贝出来测试.
-
这个时候再回到
hellow_world_main.c
就可以对头文件跳转定义,打开esp库查看了.
-
还有更多的其他功能和设置我就不赘述了.不如设置端口号,选择下载方式.点击
小火
图标就可以编译,下载,监听一条龙服务.
-
操作一样,输入
Ctrl+]
退出监听;
-
至此就算全部结束了.
-
总结下来就是安装
ESP-IDF
,自带了python
和git
.使用idf.py
进行编译,下载,监听等操作. -
如果是
linux
系统,可能会使用CMake
方式进行同样的操作,前缀换成了make
.之前我学linux
弄ROS系统时,就是这么编译操作的.