合宙ESP32C3 Arduino 初探教程
Posted perseverance52
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了合宙ESP32C3 Arduino 初探教程相关的知识,希望对你有一定的参考价值。
合宙ESP32C3 Arduino 初探教程
以为买回来一插上typeC接口就能通过Arduino IDE来个点灯,没想到:1.找不到对应的ESPC3型号,选择其他的点击烧录识别出问题。
到手回来没有Type-C的数据线,只能临时制作一条,有点寒酸,但是能识别。
合宙ESP32C3开发板一定要安装驱动,芮然买回来,插上默认能识别到串口,并显示端口号,但是还是不能用的,一定要安装CH343驱动才行,安装成功后,合宙ESP32C3端口信息会是上图那样带CH343
字样。这是开发合宙ESP32C3第一步。
- CH343驱动下载地址:https://www.wch.cn/downloads/CH343SER_EXE.html
安装ESP32C3支持固件包
如果原来Arduino IDE默认安装了ESP32支持固件包,型号列表里面是默认不带ESP32C3以及ESP32S2等型号的。
- ESP32支持固件包下载地址:https://github.com/espressif/arduino-esp32
如果是第一次安装ESP32支持固件,需要在Arduino IDE的菜单-文件-首选项-附加开发板网址管理器当中添加对应的链接
https://dl.espressif.com/dl/package_esp32_index.json
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
上面第一个网址是标准的ESP32开发板地址,后面那个是完整的开发板型号的地址,里面包含C3,S2等型号。
- 如果是通过上面的github链接将支持固件包离线下载下来了,就可以忽略添加这个网址的步骤。
将下载下来的ESP32支持固件包解压并放置到指定文件夹下
- 放置路径:
C:\\Users\\Administrator\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\1.0.6
这个ESP32支持固件包下来下来压缩包有260多MB,解压后有721MB
下载下来的支持固件包比默认安装的ESP32标准固件包文件要多,在拷贝到这个文件夹里面,会遇到有相同的文件的提示,出现这个情况,选择并点击
替换掉原有的文件
。
最关键一步来了
- 将文件解压之后,进入到:
C:\\Users\\Administrator\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\1.0.6\\tools
这个路径的文件夹内: - 双击鼠标左键运行
get.exe
可执行文件。会弹出一个DOS界面安装窗口:
- 一定要看到全部安装了上图那些内容才算成功,不然在
Arduino IDE
里面有可能看不到ESP32C3 /S2等型号的ESP32,或者就是有显示ESP32C3,S2等型号,但是选择这些型号,在进行代码编译,到最后会报错:esptool.exe": file does not exist
其他相关建议
- 在安装完驱动后,或者在点击
get.exe
运行时安装不全就退出的情况时,建议重启电脑,并再次尝试安装,get.exe
安装一定要看到安装齐全才行,安装窗口界面,安装完,会自动关闭的,安装的时候一定要留心安装完整了。我在这个地方就踩过坑,以为自动安装的,安装完了,就没有问题了,以为可以看到能选择ESP32C3的型号的出现就可以使用了,结果跑去编译代码,到最后还是会报错,后面重启电脑,重新运行get.exe
,看着窗口安装,并截图下来了,以此作为安装依据。当然最后成功编译,并烧录了第一个程序。
Creating esp32c3 image...
Merged 2 ELF sections
Successfully created esp32c3 image.
"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Arduino15\\\\packages\\\\esp32\\\\hardware\\\\esp32\\\\1.0.6/tools/gen_esp32part.exe" -q "d:\\\\arduino\\\\MyHexDir/partitions.csv" "d:\\\\arduino\\\\MyHexDir/Blink.ino.partitions.bin"
"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Arduino15\\\\packages\\\\esp32\\\\hardware\\\\esp32\\\\1.0.6/tools/riscv32-esp-elf/bin/riscv32-esp-elf-size" -A "d:\\\\arduino\\\\MyHexDir/Blink.ino.elf"
项目使用了 232580 字节,占用了 (17%) 程序存储空间。最大为 1310720 字节。
全局变量使用了10156字节,(3%)的动态内存,余留317524字节局部变量。最大为327680字节。
C:\\Users\\Administrator\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\1.0.6/tools/esptool/esptool.exe --chip esp32c3 --port COM5 --baud 921600 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 80m --flash_size 4MB 0x0 d:\\arduino\\MyHexDir/Blink.ino.bootloader.bin 0x8000 d:\\arduino\\MyHexDir/Blink.ino.partitions.bin 0xe000 C:\\Users\\Administrator\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\1.0.6/tools/partitions/boot_app0.bin 0x10000 d:\\arduino\\MyHexDir/Blink.ino.bin
esptool.py v3.3
Serial port COM5
Connecting....
Chip is ESP32-C3 (revision 3)
Features: Wi-Fi
Crystal is 40MHz
MAC: 60:55:f9:79:87:98
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 921600
Changed.
Configuring flash size...
Flash will be erased from 0x00000000 to 0x00002fff...
- 烧录时选择flash模式为
DIO
示例代码
合宙ESP32C3开发板,上面有2个板载led灯分别接到了GPIO12 和GPIO13上面了。也就是板上丝印的
D4
和D5
Led灯。
/*
Blink
Turns an LED on for one second, then off for one second, repeatedly.
Most Arduinos have an on-board LED you can control. On the UNO, MEGA and ZERO
it is attached to digital pin 13, on MKR1000 on pin 6. LED_BUILTIN is set to
the correct LED pin independent of which board is used.
If you want to know what pin the on-board LED is connected to on your Arduino
model, check the Technical Specs of your board at:
https://www.arduino.cc/en/Main/Products
modified 8 May 2014
by Scott Fitzgerald
modified 2 Sep 2016
by Arturo Guadalupi
modified 8 Sep 2016
by Colby Newman
This example code is in the public domain.
https://www.arduino.cc/en/Tutorial/BuiltInExamples/Blink
*/
#define LED_BUILTIN (13)
// the setup function runs once when you press reset or power the board
void setup()
// initialize digital pin LED_BUILTIN as an output.
Serial.begin(9600);
pinMode(LED_BUILTIN, OUTPUT);
pinMode(12, OUTPUT);
// pinMode(13, OUTPUT);
digitalWrite(13, LOW);
// the loop function runs over and over again forever
void loop()
digitalWrite(LED_BUILTIN, LOW); // turn the LED on (HIGH is the voltage level)
digitalWrite(12, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(LED_BUILTIN, HIGH); // turn the LED off by making the voltage LOW
digitalWrite(12, LOW); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
Serial.println("合宙ESP32C3");
- 购买组合推荐:
如果购买屏幕和板子一体的,价格是25.9,而且那个屏幕很小,还不如直接买个分离的1.8寸的LCD屏幕合起来也就22.8,屏幕可以利用的其他上面使用比较灵活。具体看个人喜好和需求使用,这里只是作为个人推荐而已。
以上是关于合宙ESP32C3 Arduino 初探教程的主要内容,如果未能解决你的问题,请参考以下文章
合宙ESP32C3基于Arduino IDE框架下配置分区表
Arduino +合宙ESP32C3 +1.8/1.44 寸TFT液晶屏驱动显示
Arduino框架下合宙ESP32C3 +1.8“tft 网络时钟