如何用Arduino IDE开发9.9元的合宙LuatOS ESP32C3开发板?

合宙LuatOS ESP32C3-CORE开发板 简介

在某宝上,有一款9.9元包邮的ESP32C3核心板很吸引我的眼球。虽然笔者手上有普通的ESP32 DEVKIT、ESP32 CAM和ESP8266这些开发板,但还是对这个价格的开发板有些好奇。虽然说芯片都涨价的现在,ESP系列确实是非常实惠,但是在我印象中,个位数价格的ESP一般都是ESP8266系列,没注意到ESP32居然也有这个价格。
合宙LuatOS ESP32C3开发板 淘宝页面
如下图,是合宙LuatOS官方的ESP32C3-CORE开发板引脚图。可以看到,在ESP32C3-CORE开发板上有1路I²C和1路SPI以及2路串口。ADC和PWM确实是少了些,但是考虑到这个价格,也并不奇怪,反倒安心了许多——毕竟一分钱有一分货。
ESP32C3-CORE开发板 官方网站

ESP32C3-CORE开发板引脚图
不过,考虑到现在的模块越来越数字化,这样的布局在实际开发中也不是不能接受。像是DHT22温湿度传感器、TCS3472颜色传感器、GY-30照度传感器、PAJ7620手势传感器以及各种OLED屏幕,加起来也就用到了一个单总线和I²C,再配合上一些其他的驱动模块,这块开发板也是很能打的了。当然了,大部分开发者选择ESP系列还是想在WiFi和蓝牙上面下功夫,这些功能的一些基本形式在ESP32C3-CORE开发板上还是有的。
总而言之,若不考虑WiFi和蓝牙的功能,硬件资源还是普通的STM32小蓝板更胜一筹,但是在考虑到价格等综合因素的话,这一块板子还是很值得买的。

硬件准备

在本教程中,你会需要用到这些东西:

1、ESP32C3-CORE开发板——1
2、USB Type-C线——1

软件准备

1、安装串口驱动(CH343)

大家如果玩过单片机,电脑应该都有下载CH340驱动,但是ESP32C3-CORE开发板上搭载的是CH343。这也没有关系,进入WCH官方网站的连接,直接点击“下载”即可。

WCH官网驱动下载(点击此处)
下载页面
下载完成后运行该程序,全程傻瓜式操作,显示安装完成即可。

2、安装Arduino IDE

Arduino IDE是我们进行编程和调试的工具,如果接触过Arduino的话应该都已经下载了,可以看下一步。Arduino IDE可以在其官方网站下载,也可以用最简单直接的办法,在电脑自带的Microsoft Store一键下载。
Arduino IDE
该应用是免费的,点击“获取”下载安装即可。
按下“win”按键,就能在开始菜单中找到Arduino IDE的软件打开它,如果需要桌面快捷方式,直接从开始菜单里拖出来即可。

3、添加ESP32C3开发板

本来笔者也用过ESP32-WROOM-32D的板子,但是那一个版本的开发板列表里面好像没有找到ESP32C3的板子。在添加开发板的时候我们统一用最新的这个版本。
首先打开Arduino IDE,点击左上角的“文件>>首选项”,在“附加开发板管理器网址”一栏中填写:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_dev_index.json
开发板管理器网址
填好了就点击“好”确定。
然后点击“工具>>开发板>>开发板管理器”,搜索“esp32”,这边只有一个选项冒出来。我原本就安装了旧版,反正大家直接安装其最新版本即可。
下载过程
过程确实是有一点久,大家可以先挂在这边去做别的事情。

下载完成后,就可以在开发板的选项中找到我们的板子了。
选择板子

烧录测试程序

1、编译程序

新建程序,并将如下程序复制并 CTRL+A 粘贴在Arduino IDE中,覆盖掉原本的新建程序模板。

//***************************************************************/ 
// 
//           -------------------------------------------
//           board: ESP32C3 Dev Module
//           Flash Mode: "DIO"
//           -------------------------------------------
//
//***************************************************************/ 

#define     LED_D4     12
#define     LED_D5     13

void setup() {

  Serial.begin(115200);
  pinMode(LED_D4, OUTPUT);
  pinMode(LED_D5, OUTPUT);

}


void loop() {

  Serial.println("Hello world!");
  
  digitalWrite(LED_D4, LOW);
  digitalWrite(LED_D5, HIGH);
  delay(500);
  digitalWrite(LED_D4, HIGH);
  digitalWrite(LED_D5, LOW);
  delay(500);
  
}

点击左上角的“√”,软件会提示你保存,进行命名并保存在你想要保存的位置即可。左下角显示编译完成,就没有问题了,下一步。

2、连接 & 上传

用USB Type-C线将ESP32C3-CORE开发板连接到电脑上。在Arduino IDE“工具>>端口”这一栏就有对应的COM口显示了,选择对应的COM口即可。
这个COM口会因为你插入的USB口不同而改变。你不告诉它,Arduino IDE是不知道你要用哪个口的。在我这里是COM10,反正你看到有哪个,那就选哪个好了。
COM口选择

需要特别主要的是,合宙LuatOS在ESP32C3-CORE开发板的介绍网站页尾给出了使用注意事项,其中第3条非常之重要。

使用注意事项(第3条):
IO12(GPIO12)、IO13(GPIO13)在QIO模式下为SPI信号SPIHD和SPIWP复用,为了增加可用GPIO数量,开发板选择采用2线SPI的DIO模式,IO12、IO13并未连接flash,使用自己编译的软件时需要注意配置flash为DIO模式。

这意味着,在Arduino IDE进行程序的烧录时,必须要将Flash Mode配置为 "DIO"模式。
DIO模式
每次下载前,都要确认如下配置是否正确。笔者在上面给出的代码中的注释内容就是一个使用笔记,以防止长时间不用该开发板,忘记了开发板的配置。
配置
准备完毕,点击左上角的“→”图标进行烧录。烧录过程中会在左下角看到烧录进度的百分比,达到100%之后会有如下提示:

Leaving...
Hard resetting via RTS pin...

烧录成功
于是烧录完成,就可以看到板子上的两个指示灯D4和D5在间隔0.5秒地交替亮灭。
这里需要提一嘴,虽然板子上标注的LED名称是D4和D5,但在合宙LuatOS给出的资料中,D4对应的是IO12,D5对应的是IO13。笔者最开始在写测试程序的时候就是没有注意到这一点,结果调试了很久。

LED编号对应GPIO管脚功能描述
D4IO12GPIO12配置高电平有效
D5IO13GPIO13配置高电平有效

D4
D5
在Arduino IDE内按下“CTRL+SHIFT+M”快捷键,打开串口监视器,可以在115200波特率下看到ESP32C3-CORE开发板传来的“Hello world!”讯息。
Hello world!

至此,你就已经完成了ESP32C3-CORE开发板的“点灯仪式”,正式开启了你学习和使用ESP32C3-CORE开发板的大门!祝你学习愉快!

### ESP32-C3 引脚图及各引脚功能详细说明 #### GPIO 功能描述 ESP32-C3 芯片具备多样的引脚资源,其中包括多种类型的通用输入/输出 (GPIO) 口。这些引脚不仅支持基本的数字信号处理,还集成了模拟信号采集能力以及串行通信接口等功能[^1]。 对于具体的引脚定义: - **数字 I/O**: 提供标准逻辑电平操作; - **ADC/DAC**: 实现模数转换与数模转换; - **UART/SPI/I²C**: 支持异步收发传输、同步外设接口和两线式串行总线协议; #### 特殊用途引脚 除了常规的数据交换端子之外,该处理器还包括一些专用于特定应用场景下的接点,比如调试接口(JTAG),这有助于开发人员更方便地进行程序下载和硬件测试工作[^2]。 为了便于理解各个管脚的具体作用,在实际应用中通常会参照官方提供的推荐电路设计文档来规划连线方式[^2]。 ```plaintext +-------------------+ | | | VDD |-----> Power Supply (+3.3V) | | | GND |-----> Ground | | | IO0 ~ IO8 |-----> General Purpose Input Output Pins | | | ADC1_CH0~CH7 |-----> Analog-to-Digital Converter Channels | | | DAC1, DAC2 |-----> Digital-to-Analog Converters | | | UART_TXD |-----> Universal Asynchronous Receiver Transmitter Transmit Data Line | | | UART_RXD |-----> Universal Asynchronous Receiver Transmitter Receive Data Line | | | SPI_CLK |-----> Serial Peripheral Interface Clock Signal | | | SPI_MOSI |-----> Master Out Slave In of SPI Bus | | | SPI_MISO |-----> Master In Slave Out of SPI Bus | | | I2C_SDA |-----> Inter-Integrated Circuit Serial Data Line | | | I2C_SCL |-----> Inter-Integrated Circuit Serial Clock Line | | | JTAG_TDI,TDO...|---> Joint Test Action Group Debugging Interface Signals +-------------------+ ``` 此表格展示了部分典型引脚及其主要职责,具体到每一个型号可能会有所差异,请务必查阅最新版本的技术手册获取最准确的信息。
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值