软件
CH343
串口
Flash 烧录
数据手册
ESP32-C6
CH343
官方文档
ESP32官方文档
ESP-IDF下使用
以下开发系统默认为Windows,推荐使用VSCode插件进行开发
使用VSCode插件开发
安装VSCode
- 打开VSCode官网的下载页面,选择对应系统和系统位数进行下载
![ESP32-C6 TO Environment 0.png](https://www.waveshare.net/w/upload/b/b3/ESP32-C6_TO_Environment_0.png)
- 运行安装包后,其余均可以默认安装,但这里为了后续的体验建议,建议在此处勾选框中的1、2、3项
- 第一二项开启后,可以直接通过鼠标右键文件或者目录打开VSCode,可以提高后续的使用体验.
- 第三项开启后,选择打开方式时,可以直接选择VSCode
![ESP32-C6 TO Environment 1.png](https://www.waveshare.net/w/upload/b/b2/ESP32-C6_TO_Environment_1.png)
安装Espressif IDF插件
- 注:当前插件最新版本为V1.6.4,为体验一致,用户可以选择与我们一样的版本
- 打开VSCode,使用快捷键 Shift+Ctrl+X ,进入插件管理器
![ESP32-C6 TO Environment 2.png](https://www.waveshare.net/w/upload/1/16/ESP32-C6_TO_Environment_2.png)
- 在搜索栏中,输入 Espressif IDF ,选择对应的插件点击 install即可
![ESP32-C6 TO Environment 3.png](https://www.waveshare.net/w/upload/3/33/ESP32-C6_TO_Environment_3.png)
![ESP32-C6 TO Environment 4.png](https://www.waveshare.net/w/upload/2/2a/ESP32-C6_TO_Environment_4.png)
esp-idf: configure esp-idf extension
![ESP32-C6 TO Environment 5.png](https://www.waveshare.net/w/upload/9/9e/ESP32-C6_TO_Environment_5.png)
- 选择express(此教程针对第一次安装的用户,故只讲述初次的通用安装教程)
![ESP32-C6 TO Environment 6.png](https://www.waveshare.net/w/upload/7/7c/ESP32-C6_TO_Environment_6.png)
- 选择下载服务器,我们推荐国内用户使用Espressif作为你的下载服务器
![ESP32-C6 TO Environment 7.png](https://www.waveshare.net/w/upload/7/7c/ESP32-C6_TO_Environment_7.png)
- 选择想要现在的ESP-IDF版本,我们选择最新的V5.1.1(注意ESP-IDF从V5.1版本后才开始支持ESP32-C6)
![ESP32-C6 TO Environment 8.png](https://www.waveshare.net/w/upload/e/e5/ESP32-C6_TO_Environment_8.png)
- 下面两个分别为ESP-IDF容器安装地址和ESP-IDF所需的工具安装地址,
![ESP32-C6 TO Environment 9.png](https://www.waveshare.net/w/upload/3/31/ESP32-C6_TO_Environment_9.png)
- 注意:如果之前有安装过ESP-IDF,或者失败过的,请务必彻底删除文件或者创建全新的无中文路径
- 配置完成后,点击 install 进行下载
![ESP32-C6 TO Environment 10.png](https://www.waveshare.net/w/upload/4/46/ESP32-C6_TO_Environment_10.png)
- 进入下载页面,其会自动安装对应工具与环境,稍等片刻即可
![ESP32-C6 TO Environment 11.png](https://www.waveshare.net/w/upload/a/a4/ESP32-C6_TO_Environment_11.png)
![ESP32-C6 TO Environment 12.png](https://www.waveshare.net/w/upload/2/2a/ESP32-C6_TO_Environment_12.png)
官方例程使用教程
创建例程( 示例 )
esp-idf:show examples projects
![ESP32-C6 TO Program 1.png](https://www.waveshare.net/w/upload/d/d1/ESP32-C6_TO_Program_1.png)
![ESP32-C6 TO Program 2.png](https://www.waveshare.net/w/upload/2/22/ESP32-C6_TO_Program_2.png)
- 以Hello world例程为例
- ①选择对应例程
- ②其readme会说明该例程适用于什么芯片(下文有介绍例程怎么使用与文件结构,这里略)
- ③点击创建例程
![ESP32-C6 TO Program 3.png](https://www.waveshare.net/w/upload/9/90/ESP32-C6_TO_Program_3.png)
选择放置例程的路径,要求无例程同名文件夹
![ESP32-C6 TO Program 4.png](https://www.waveshare.net/w/upload/7/79/ESP32-C6_TO_Program_4.png)
修改COM口
- 此处显示使用对应的COM口,点击可以修改对应COM口
- 请根据设备对应COM口进行选择,建议优先使用 USB 对应的COM口(可通过设备管理器查看)
![ESP32-C6 TO Program 5.png](https://www.waveshare.net/w/upload/9/98/ESP32-C6_TO_Program_5.png)
![ESP32-C6 TO Program 6.png](https://www.waveshare.net/w/upload/6/68/ESP32-C6_TO_Program_6.png)
修改驱动对象
- 此处显示的是使用的驱动对象,点击可以修改对应驱动对象
- 选择使用的工程或者例程
![ESP32-C6 TO Program 7.png](https://www.waveshare.net/w/upload/8/8a/ESP32-C6_TO_Program_7.png)
![ESP32-C6 TO Program 8.png](https://www.waveshare.net/w/upload/5/58/ESP32-C6_TO_Program_8.png)
- 选择我们需要驱动的对象,也就是我们的主芯片为ESP32C6
![ESP32-C6 TO Program 9.png](https://www.waveshare.net/w/upload/b/b4/ESP32-C6_TO_Program_9.png)
- 选择openocd的路径,这里对我们没有影响,所以我们随便选择一个即可
![ESP32-C6 TO Program 10.png](https://www.waveshare.net/w/upload/f/f1/ESP32-C6_TO_Program_10.png)
其余状态栏简介
- ①SDK 配置编辑器,ESP-IDF很多功能与配置可以在其内修改
- ②全部清理,清空所有编译文件,
- ③编译
- ④当前下载方式,默认为UART
- ⑤烧录当前固件,请在编译后进行
- ⑥打开串口监视器,用于查看串口信息
- ⑦编译,烧录,打开串口监视器 一体按键(调试时最常用)
![ESP32-C6 TO Program 11.png](https://www.waveshare.net/w/upload/4/46/ESP32-C6_TO_Program_11.png)
编译、烧录、串口监视
- 点击我们之前介绍的 编译,烧录,打开串口监视器按键
![ESP32-C6 TO Program 12.png](https://www.waveshare.net/w/upload/9/90/ESP32-C6_TO_Program_12.png)
- 编译可能需要较长时间才能完成,尤其是在第一次编译时。
![ESP32-C6 TO Program 13.png](https://www.waveshare.net/w/upload/5/57/ESP32-C6_TO_Program_13.png)
- 在此过程中,ESP-IDF可能会占用大量CPU资源,因此可能会导致系统卡顿。
- 若是新工程首次烧录程序,将需要选择下载方式,选择 UART
![ESP32-C6 TO Program 14.png](https://www.waveshare.net/w/upload/e/ec/ESP32-C6_TO_Program_14.png)
- 后续也可在 下载方式 处进行修改(点击即可弹出选项)
![ESP32-C6 TO Program 15.png](https://www.waveshare.net/w/upload/0/0a/ESP32-C6_TO_Program_15.png)
![ESP32-C6 TO Program 16.png](https://www.waveshare.net/w/upload/7/78/ESP32-C6_TO_Program_16.png)
- 下载成功后,自动进入串口监视器,可以看到芯片输出对应的信息并提示10S后重启
![ESP32-C6 TO Program 17.png](https://www.waveshare.net/w/upload/6/6f/ESP32-C6_TO_Program_17.png)
示例演示
Hello Word
- 官方示例路径:get-started -> hello_world
- 示例效果:在 TERMINAL 窗口以10秒间隔输出 Hello world!
软件操作
- 根据上方教程创建官方示例 hello_world ( 创建示例 )
- 程序兼容ESP32-C6,无需修改程序内容即可使用
- 修改好COM口及驱动对象(建议优先使用 USB 对应的COM口,可通过设备管理器查看),点击编译并烧录即可运行程序
![ESP32-C6 TO Program 17.png](https://www.waveshare.net/w/upload/6/6f/ESP32-C6_TO_Program_17.png)
GPIO
- 官方示例路径:peripherals -> gpio -> generic_gpio
- 示例效果:LED以1秒间隔进行闪烁
硬件连接
ESP32-C6 | LED |
GPIO18(或GPIO19) | LED+ |
GND | LED- |
软件操作
- 根据上方教程创建官方示例 generic_gpio ( 创建示例 )
- 程序兼容ESP32-C6,无需修改程序内容即可使用
- 修改好COM口及驱动对象(建议优先使用 USB 对应的COM口,可通过设备管理器查看),点击编译并烧录即可运行程序
![ESP32-C6 TO Sample 4.png](https://www.waveshare.net/w/upload/4/4f/ESP32-C6_TO_Sample_4.png)
![ESP32-C6 TO Sample 1.png](https://www.waveshare.net/w/upload/f/fb/ESP32-C6_TO_Sample_1.png)
![ESP32-C6 TO Sample 2.png](https://www.waveshare.net/w/upload/b/b4/ESP32-C6_TO_Sample_2.png)
![ESP32-C6 TO Sample 3.png](https://www.waveshare.net/w/upload/9/9a/ESP32-C6_TO_Sample_3.png)
RGB
- 官方示例路径:get-started -> blink
- 示例效果:板载RGB灯珠以1秒间隔进行闪烁
软件操作
- 根据上方教程创建官方示例 blink ( 创建示例 )
- 程序兼容ESP32-C6,无需修改程序内容即可使用
- 修改好COM口及驱动对象(建议优先使用 USB 对应的COM口,可通过设备管理器查看),点击编译并烧录即可运行程序
![ESP32-C6 TO Sample 5.png](https://www.waveshare.net/w/upload/f/f0/ESP32-C6_TO_Sample_5.png)
UART
- 官方示例路径:peripherals -> uart-> uart_async_rxtxtasks
- 示例效果:短接GPIO4与GPIO5情况下进行 UART 的数据自收发
硬件连接
ESP32-C6 | ESP32-C6(同一块) |
GPIO4 | GPIO5 |
软件操作
- 根据上方教程创建官方示例 uart_async_rxtxtasks( 创建示例 )
- 程序兼容ESP32-C6,无需修改程序内容即可使用
- 修改好COM口及驱动对象(建议优先使用 USB 对应的COM口,可通过设备管理器查看),点击编译并烧录即可运行程序
![ESP32-C6 TO Sample 8.png](https://www.waveshare.net/w/upload/8/8b/ESP32-C6_TO_Sample_8.png)
![ESP32-C6 TO Sample 6.png](https://www.waveshare.net/w/upload/6/6d/ESP32-C6_TO_Sample_6.png)
- 可转到定义文件中查看实际使用的GPIO(选中 GPIO_NUM_4 -> 右键 -> Go to Definition)
![ESP32-C6 TO Sample 7.png](https://www.waveshare.net/w/upload/2/2f/ESP32-C6_TO_Sample_7.png)
I2C
- 官方示例路径:peripherals -> lcd-> i2c_oled
- 示例效果:点亮0.96inch OLED (A),显示一段字符
硬件连接
0.96inch OLED (A) | ESP32-C6 |
VCC | 3V3 |
GND | GND |
DIN | GPIO3 |
CLK | GPIO4 |
CS | GND |
D/C | GND |
RES | GPIO9 |
软件操作
- 根据上方教程创建官方示例 i2c_oled( 创建示例 )
- 修改程序使之兼容0.96inch OLED (A)
![ESP32-C6 TO Sample 9.png](https://www.waveshare.net/w/upload/7/7b/ESP32-C6_TO_Sample_9.png)
- 适配0.96inch OLED (A),定义 RES 引脚为 GPIO9
![ESP32-C6 TO Sample 10.png](https://www.waveshare.net/w/upload/c/c0/ESP32-C6_TO_Sample_10.png)
- 修改好COM口及驱动对象(建议优先使用 USB 对应的COM口,可通过设备管理器查看),点击编译并烧录即可运行程序
![ESP32-C6 TO Sample 11.png](https://www.waveshare.net/w/upload/1/18/ESP32-C6_TO_Sample_11.png)
![ESP32-C6 TO Sample 12.png](https://www.waveshare.net/w/upload/thumb/8/83/ESP32-C6_TO_Sample_12.png/1000px-ESP32-C6_TO_Sample_12.png)
![ESP32-C6 TO Sample 13.png](https://www.waveshare.net/w/upload/a/a0/ESP32-C6_TO_Sample_13.png)
SPI
- 官方示例路径:peripherals -> spi_master-> lcd
- 示例效果:在2.4inch LCD Module上动态显示图片
硬件连接
2.4inch LCD Module | ESP32-C6 |
VCC | 3V3 |
GND | GND |
DIN | GPIO7 |
CLK | GPIO6 |
CS | GPIO10 |
D/C | GPIO11 |
RES | GPIO4 |
BL | GPIO5 |
软件操作
- 右键VScode图标,以管理员身份运行VScode
![ESP32-C6 TO Sample 14.png](https://www.waveshare.net/w/upload/4/46/ESP32-C6_TO_Sample_14.png)
- 根据上方教程创建官方示例 lcd( 创建示例 )
- 修改程序使之兼容2.4inch LCD Module
![ESP32-C6 TO Sample 15.png](https://www.waveshare.net/w/upload/d/d3/ESP32-C6_TO_Sample_15.png)
![ESP32-C6 TO Sample 16.png](https://www.waveshare.net/w/upload/e/e3/ESP32-C6_TO_Sample_16.png)
![ESP32-C6 TO Sample 18.png](https://www.waveshare.net/w/upload/5/54/ESP32-C6_TO_Sample_18.png)
- 并宏定义 ESP32-C6 , CONFIG_IDF_TARGET_ESP32C6
//#define CONFIG_IDF_TARGET_ESP32 1
#define CONFIG_IDF_TARGET_ESP32C6 1
![ESP32-C6 TO Sample 19.png](https://www.waveshare.net/w/upload/5/5d/ESP32-C6_TO_Sample_19.png)
- 修改 D/C 使用IO
- 进入 spi_master_example_main.c的第62行
![ESP32-C6 TO Sample A34.png](https://www.waveshare.net/w/upload/7/7d/ESP32-C6_TO_Sample_A34.png)
- 修改 D/C 使用IO,避开下载电路(原使用 GPIO9 改为 GPIO11)
![ESP32-C6 TO Sample A37.png](https://www.waveshare.net/w/upload/e/eb/ESP32-C6_TO_Sample_A37.png)
![ESP32-C6 TO Sample 20.png](https://www.waveshare.net/w/upload/d/df/ESP32-C6_TO_Sample_20.png)
- 改为 gpio_set_level(PIN_NUM_BCKL, 1);
![ESP32-C6 TO Sample 21.png](https://www.waveshare.net/w/upload/a/a3/ESP32-C6_TO_Sample_21.png)
- 修改好COM口及驱动对象(建议优先使用 USB 对应的COM口,可通过设备管理器查看),点击编译并烧录即可运行程序
![ESP32-C6 TO Sample 22.png](https://www.waveshare.net/w/upload/e/e0/ESP32-C6_TO_Sample_22.png)
![ESP32-C6 TO Sample A38.png](https://www.waveshare.net/w/upload/b/b8/ESP32-C6_TO_Sample_A38.png)
Bluetooth
- 官方示例路径:bluetooth -> bluedroid -> ble -> gatt_server
- 示例效果:ESP32-C6与手机端蓝牙调试助手进行数据传输
软件操作
- 在手机端安装蓝牙调试助手
- 根据上方教程创建官方示例 gatt_server( 创建示例 )
- 程序兼容ESP32-C6,无需修改程序内容即可使用
- 蓝牙名称以及UUID,蓝牙名称为 ESP_GATTS_DEMO
![ESP32-C6 TO Sample 25.png](https://www.waveshare.net/w/upload/0/08/ESP32-C6_TO_Sample_25.png)
- 修改好COM口及驱动对象(建议优先使用 USB 对应的COM口,可通过设备管理器查看),点击编译并烧录即可运行程序
![ESP32-C6 TO Sample 26.png](https://www.waveshare.net/w/upload/7/77/ESP32-C6_TO_Sample_26.png)
- 在手机端连接 ESP_GATTS_DEMO蓝牙设备
![ESP32-C6 TO Sample 27.png](https://www.waveshare.net/w/upload/thumb/4/43/ESP32-C6_TO_Sample_27.png/1000px-ESP32-C6_TO_Sample_27.png)
![ESP32-C6 TO Sample 28.png](https://www.waveshare.net/w/upload/0/08/ESP32-C6_TO_Sample_28.png)
- 根据程序中UUID的值可知为下方两个服务器,选择其中一个进行上行发送
![ESP32-C6 TO Sample 29.png](https://www.waveshare.net/w/upload/thumb/8/84/ESP32-C6_TO_Sample_29.png/1000px-ESP32-C6_TO_Sample_29.png)
![ESP32-C6 TO Sample 30.png](https://www.waveshare.net/w/upload/b/b3/ESP32-C6_TO_Sample_30.png)
WIFI
- 官方示例路径:wifi-> getting_started-> station
- 示例效果:ESP32-C6连接WIFI
软件操作
- 根据上方教程创建官方示例 station( 创建示例 )
- 修改程序内容,使其连接上所需WiFi
- 进入 Kconfig.projbuild 文件
![ESP32-C6 TO Sample 31.png](https://www.waveshare.net/w/upload/1/18/ESP32-C6_TO_Sample_31.png)
- 将原本的 WiFi SSID 与 WiFi Password 修改为要连接的WiFi信息
![ESP32-C6 TO Sample 32.png](https://www.waveshare.net/w/upload/3/3c/ESP32-C6_TO_Sample_32.png)
- 修改好COM口及驱动对象(建议优先使用 USB 对应的COM口,可通过设备管理器查看),点击编译并烧录即可运行程序
![ESP32-C6 TO Sample 33.png](https://www.waveshare.net/w/upload/9/94/ESP32-C6_TO_Sample_33.png)
- 可查看 CONFIG_ESP_WIFI_SSID的值
- 进入 station_ example_ main.c文件
![ESP32-C6 TO Sample 34.png](https://www.waveshare.net/w/upload/0/0f/ESP32-C6_TO_Sample_34.png)
![ESP32-C6 TO Sample 35.png](https://www.waveshare.net/w/upload/7/77/ESP32-C6_TO_Sample_35.png)
![ESP32-C6 TO Sample 36.png](https://www.waveshare.net/w/upload/9/99/ESP32-C6_TO_Sample_36.png)
Zigbee
- 官方示例1路径:Zigbee-> light_sample-> HA_on_off_switch
- 官方示例2路径:Zigbee-> light_sample-> HA_on_off_light
- 示例效果:两块ESP32-C6,使用其中一块(烧录 HA_on_off_switch 程序)的 BOOT 按键控制另一块的RGB灯珠的亮灭
- 注:请先往一块烧录 HA_on_off_switch 程序,再往另一块烧录 HA_on_off_light 程序
软件操作1
- 根据上方教程创建官方示例 HA_on_off_switch( 创建示例 )
- 程序兼容ESP32-C6,无需修改程序内容即可使用
- 修改好COM口及驱动对象(建议优先使用 USB 对应的COM口,可通过设备管理器查看),点击编译并烧录即可运行程序
![ESP32-C6 TO Sample 37.png](https://www.waveshare.net/w/upload/2/28/ESP32-C6_TO_Sample_37.png)
软件操作2
- 根据上方教程创建官方示例 HA_on_off_light( 创建示例 )
- 程序兼容ESP32-C6,无需修改程序内容即可使用
- 修改好COM口及驱动对象,点击编译并烧录即可运行程序(需要等待片刻,让两块芯片建立连接)
![ESP32-C6 TO Sample 38.png](https://www.waveshare.net/w/upload/6/6c/ESP32-C6_TO_Sample_38.png)
- 若一直处于以下未连接的情况,则可能是由于这个设备有残留的其他网络信息,可以擦除设备信息( 擦除教程),再重新组网。
![ESP32-C6 TO Sample 39.png](https://www.waveshare.net/w/upload/thumb/4/43/ESP32-C6_TO_Sample_39.png/1000px-ESP32-C6_TO_Sample_39.png)
JTAG 调试
软件操作
- 创建需要调试的示例,本示例使用官方示例 hello_world ( 创建示例 )
- 修改 launch.json 文件
![ESP32-C6 TO JTAG 1.png](https://www.waveshare.net/w/upload/f/f0/ESP32-C6_TO_JTAG_1.png)
{
"version": "0.2.0",
"configurations": [
{
"name": "GDB",
"type": "cppdbg",
"request": "launch",
"MIMode": "gdb",
"miDebuggerPath": "${command:espIdf.getXtensaGdb}",
"program": "${workspaceFolder}/build/${command:espIdf.getProjectName}.elf",
"windows": {
"program": "${workspaceFolder}\\build\\${command:espIdf.getProjectName}.elf"
},
"cwd": "${workspaceFolder}",
"environment": [{ "name": "PATH", "value": "${config:idf.customExtraPaths}" }],
"setupCommands": [
{ "text": "target remote :3333" },
{ "text": "set remote hardware-watchpoint-limit 2"},
{ "text": "mon reset halt" },
{ "text": "thb app_main" },
{ "text": "flushregs" }
],
"externalConsole": false,
"logging": {
"engineLogging": true
}
}
]
} ![ESP32-C6 TO JTAG 2.png](https://www.waveshare.net/w/upload/0/00/ESP32-C6_TO_JTAG_2.png)
- 程序兼容ESP32-C6,无需修改程序内容即可使用
- 修改好COM口及驱动对象(建议优先使用 USB 对应的COM口,可通过设备管理器查看),点击编译并烧录即可运行程序
![ESP32-C6 TO Program 17.png](https://www.waveshare.net/w/upload/6/6f/ESP32-C6_TO_Program_17.png)
ESP-IDF:Device configuration
![ESP32-C6 TO JTAG 3.png](https://www.waveshare.net/w/upload/7/73/ESP32-C6_TO_JTAG_3.png)
![ESP32-C6 TO JTAG 4.png](https://www.waveshare.net/w/upload/1/1a/ESP32-C6_TO_JTAG_4.png)
- 输入 board/esp32c6-builtin.cfg (若默认是这个,就直接回车就可以)
board/esp32c6-builtin.cfg
![ESP32-C6 TO JTAG 5.png](https://www.waveshare.net/w/upload/9/97/ESP32-C6_TO_JTAG_5.png)
- 拉伸窗口宽度,直至下方显示 [OpenOCD Server]
![ESP32-C6 TO JTAG 6.png](https://www.waveshare.net/w/upload/e/e6/ESP32-C6_TO_JTAG_6.png)
- 点击 [OpenOCD Server],选择 Start OpenOCD
![ESP32-C6 TO JTAG 7.png](https://www.waveshare.net/w/upload/4/4e/ESP32-C6_TO_JTAG_7.png)
![ESP32-C6 TO JTAG 8.png](https://www.waveshare.net/w/upload/e/eb/ESP32-C6_TO_JTAG_8.png)
![ESP32-C6 TO JTAG 9.png](https://www.waveshare.net/w/upload/b/b3/ESP32-C6_TO_JTAG_9.png)
![ESP32-C6 TO JTAG 10.png](https://www.waveshare.net/w/upload/5/50/ESP32-C6_TO_JTAG_10.png)
擦除设备Flash
- 解压软件资源包(Flash 调试软件)
- 打开 flash_download_tool_3.9.5.exe软件,选择ESP32-C5及UART
![ESP32-C6 TO Erase Flash 0.png](https://www.waveshare.net/w/upload/a/ac/ESP32-C6_TO_Erase_Flash_0.png)
- 选择UART的端口号,点击 START (不选择任何 bin 文件)
![ESP32-C6 TO Erase Flash 1.png](https://www.waveshare.net/w/upload/f/fd/ESP32-C6_TO_Erase_Flash_1.png)
![ESP32-C6 TO Erase Flash 2.png](https://www.waveshare.net/w/upload/1/14/ESP32-C6_TO_Erase_Flash_2.png)
![ESP32-C6 TO Erase Flash 3.png](https://www.waveshare.net/w/upload/d/de/ESP32-C6_TO_Erase_Flash_3.png)
邮箱:services04@spotpear.cn
![](https://cdn.static.spotpear.cn/uploads/picture/web/wx.jpg)