仓库:https://gitee.com/karlkenneth/esp32_learn
1.1.环境搭建
第一次在gitee上看我图文教程的强烈建议点击这个按钮
下载到本地看教程的强烈建议去tool文件夹找Typora工具来看.md文件,那个是专门浏览编辑md文件的
准备
1、自备vscode架构的ide(我用的Trae)
2、自备esp32s3DevKit开发板,本教程使用N16R8
下载并安装
1、打开网站:在 Windows 上安装 ESP-IDF 及工具链 - ESP32-S3 - — ESP-IDF 编程指南 latest 文档
2、在第二步:安装EIM中点击Download EIM
3、选择在线安装器,windows GUI Installers x64版本的exe。这个轻量好用,若要管理多个idf版本也方便
4、运行exe后先择简易安装
5、选择版本、安装磁盘,点击开始安装
6、等待安装完成
7、安装完成后记得选择删除离线包
8、从桌面快捷方式进入idf环境
拷贝例程,进入例程,编译例程
1、D:\esp\v5.5.4\esp-idf\examples目录就是idf的例程,我们选择get-started\hello_world工程,拷贝hello_world文件夹到喜欢的地方,这个就是工程
2、在idf环境输入cd+空格+工程路径进入到工程目录
3、直接输入idf.py build进行编译,出现以下就是IDF环境搭建好了
idf.py build
配置工程
芯片封装内psram如果大于等于8M是Octal模式连接的,为了更好性能我们会设置psram为这个模式,但是helloworld工程打开了最小编译,这样会导致没法设置psram,我们要先去工程把最小编译模式关了
1、用IDE打开工程,打开根目录下的cmakelists,把MINIMAL_BUILD改为OFF或者直接把这行删了或者注释掉。记得保存文件
2、在idf输入idf.py set-target esp32s3将芯片设置为esp32s3。
idf.py set-target esp32s3
3、在idf输入idf.py menuconfig打开图形化配置界面
idf.py menuconfig
4、设置Flash->QIO,80Mhz,16M
5、设置PSRAM-> Octal SPI,80Mhz。不知道设置项在哪的看截图顶部(Top)有导航
6、设置主频->240Mhz
PS:以上这些设置是基于芯片的硬件连接做的,这些设置可以最大程度打开芯片性能,至于为什么可以这样设置,可以有哪些调整我会在视频讲解
7、执行一键三连idf.py build flash -p COM99。注意COM口要看你实际与芯片连接的com口。烧录成功如下
idf.py build flash -p COM99
8、烧录完成后用串口工具打开串口看到倒数重启的打印就行了,如果看到的是等待下载的打印或者没打印,需要检查串口工具的RST和DTR是不是取消打勾的状态
9、在idf输入idf.py save-defconfig,将当前配置保存为sdkconfig.defaults,方便后面需要同样配置的时候只要将这个文件拷贝进工程就可以
使用快捷指令在IDE终端加载idf环境
1、新建txt粘贴以下内容:
function idf{ # 临时解除当前窗口的脚本执行限制 Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process -Force # 加载IDF环境 & {. 'C:\Espressif\tools\Microsoft.v5.5.4.PowerShell_profile.ps1'} }2、右键桌面上的IDF快捷方式,在属性-快捷方式-目标中复制Command后面双引号内的内容,主要不要连双引号一起复制。这是你电脑中环境脚本的路径。
3、用复制到的内容,替换掉上面的# 加载IDF环境注释下的一行
4、在IDE新建终端(powershell)
5、输入if (!(Test-Path $PROFILE)) { New-Item -Type File -Path $PROFILE -Force },这句是判断当前是否有powershell启动配置文件,没有则自动创建
if (!(Test-Path $PROFILE)) { New-Item -Type File -Path $PROFILE -Force }6、输入notepad $PROFILE,在打开的文件粘贴先前已经编辑好的txt内容并保存
notepad $PROFILE
7、关掉这个配置文件,新建一个终端,输入idf,看成没成功。没成功的在群里反馈
8、注意事项!!!!!!!!!在这里打开menuconfig要用HJKL键替代左下上右方向键。方向键在这里没有用处,是一个小缺点。
题外话
反正我是不喜欢用插件,还是喜欢原生的,我这种方式就不需要两个窗口来回切了,有编译问题也能直接引用给ai让它帮忙看看不用复制粘贴
结束。喜欢就赞我