ESP32C3在Arduino下的串口操作集锦

1.如下,两个版本:经典款,简约款

|-------------------------------------------|---------------|-----|-----------------|-----------------|---------|----|-------------------------------------------|
| Demo程序 | 功能 | 版本 | USB CDC On Boot | 串口号 | 波特率匹配要求 | 软硬 | 备注 |
| 示例->01.Basics->AnalogReadSerial | 单向输出 | 经典款 | Disabled | Serial | 有 | 硬 | **板载串口有效;**TX0(UART0_TX)脚外接引出 |
| 示例->01.Basics->AnalogReadSerial | 单向输出 | 经典款 | Enabled | Serial | 有 | 硬 | **板载串口无效;**无有效外接引脚 |
| 示例->01.Basics->AnalogReadSerial | 单向输出 | 经典款 | 无要求 | Serial0 | 有 | 硬 | **板载串口有效;**TX0(UART0_TX)脚外接引出 |
| 示例->01.Basics->AnalogReadSerial | 单向输出 | 经典款 | 无要求 | Serial1 | 有 | 硬 | 板载串口无效;GPIO19脚外接引出 |
| 示例->01.Basics->AnalogReadSerial | 单向输出 | 简约款 | Enabled | Serial | 无 | 软 | **板载串口有效;**无有效外接引脚 |
| 示例->01.Basics->AnalogReadSerial | 单向输出 | 简约款 | Disabled | Serial | 有 | 硬 | **板载串口无效;**TX0(UART0_TX)脚外接引出 |
| 示例->01.Basics->AnalogReadSerial | 单向输出 | 简约款 | 无要求 | Serial0 | 有 | 硬 | **板载串口无效;**TX0(UART0_TX)脚外接引出 |
| 示例->01.Basics->AnalogReadSerial | 单向输出 | 简约款 | 无要求 | Serial1 | 有 | 硬 | **板载串口无效;**GPIO19脚外接引出 |
| 示例->04.Communication->PhysicalPixel | 单向输入 | 经典款 | Disabled | Serial | 有 | 硬 | **板载串口有效;**无有效外接引脚 |
| 示例->04.Communication->PhysicalPixel | 单向输入 | 经典款 | Enabled | Serial | 有 | 硬 | **板载串口无效;**无有效外接引脚 |
| 示例->04.Communication->PhysicalPixel | 单向输入 | 经典款 | 无要求 | Serial0 | 有 | 硬 | **板载串口有效;**无有效外接引脚 |
| 示例->04.Communication->PhysicalPixel | 单向输入 | 经典款 | 无要求 | Serial1 | 有 | 硬 | 板载串口无效;GPIO18脚外接引出 |
| 示例->04.Communication->PhysicalPixel | 单向输入 | 简约款 | Enabled | Serial | 无 | 软 | **板载串口有效;**无有效外接引脚 |
| 示例->04.Communication->PhysicalPixel | 单向输入 | 简约款 | Disabled | Serial | 有 | 硬 | **板载串口无效;**RX0(UART0_RX)脚外接引出 |
| 示例->04.Communication->PhysicalPixel | 单向输入 | 简约款 | 无要求 | Serial0 | 有 | 硬 | **板载串口无效;**RX0(UART0_RX)脚外接引出 |
| 示例->04.Communication->PhysicalPixel | 单向输入 | 简约款 | 无要求 | Serial1 | 有 | 硬 | **板载串口无效;**GPIO18脚外接引出 |
| 示例->04.Communication->Serial Event | 双向通信 | 经典款 | Disabled | Serial | 有 | 硬 | **板载串口有效;**外接无效 |
| 示例->04.Communication->Serial Event | 双向通信 | 经典款 | Enabled | Serial | 有 | 硬 | **板载串口无效;**外接无效 |
| 示例->04.Communication->Serial Event | 双向通信 | 经典款 | 无要求 | Serial0 | 有 | 硬 | **板载串口有效;**外接无效 |
| 示例->04.Communication->Serial Event | 双向通信 | 经典款 | 无要求 | Serial1 | 有 | 硬 | 板载串口无效;外接不成功(不支持serialEvent())* |
| 示例->04.Communication->Serial Event | 双向通信 | 简约款 | Enabled | Serial | 无 | 软 | **板载串口不成功(**不支持 serialEvent() )*;无有效外接引脚 |
| 示例->04.Communication->Serial Event | 双向通信 | 简约款 | Disabled | Serial | 有 | 硬 | **板载串口无效;**外接不成功(不支持serialEvent())* |
| 示例->04.Communication->Serial Event | 双向通信 | 简约款 | 无要求 | Serial0 | 有 | 硬 | **板载串口无效;**外接不成功(不支持serialEvent())* |
| 示例->04.Communication->Serial Event | 双向通信 | 简约款 | 无要求 | Serial1 | 有 | 硬 | **板载串口无效;外接不成功(不支持serialEvent())* |
| 示例->04.Communication->SerialPassthrough | 多串口 | 经典款 | Disabled | Serial Serial1 | 可双向通信 |||
| 示例->04.Communication->SerialPassthrough | 多串口 | 经典款 | Disabled | Serial Serial0 | 仅可由Serial到Serial0单向通信 |||
| 示例->04.Communication->SerialPassthrough | 多串口 | 经典款 | 无要求 | Serial0 Serial1 | 可双向通信,Serial0为板载串口 |||
| 示例->04.Communication->SerialPassthrough | 多串口 | 简约款 | Enabled | 仅Serial1 Serial | 无法双向通信 |||
| 示例->ESP32->Serial->onReceiveExample | ESP32专例双向通信串口 | 经典款 | Disabled | Serial | 无法编译 |||
| 示例->ESP32->Serial->onReceiveExample | ESP32专例双向通信串口 | 经典款 | 无要求 | Serial0 | 板载串口有效
;**外接无效 |||
| 示例->ESP32->Serial->onReceiveExample | ESP32专例双向通信串口 | 经典款 | 无要求 | Serial1 | 板载串口无效;GPIO18(RX),GPIO19(TX)脚外接引出 |||
| 示例->ESP32->Serial->onReceiveExample | ESP32专例双向通信串口 | 简约款 | Enabled | Serial | 无法编译 |||
| 示例->ESP32->Serial->onReceiveExample | ESP32专例双向通信串口 | 简约款 | 无要求 | Serial0 | 板载串口无效;RX0(UART0_RX),TX0(UART0_TX)脚外接引出 |||
| 示例->ESP32->Serial->onReceiveExample | ESP32专例双向通信串口 | 简约款 | 无要求 | Serial1 | 板载串口无效;GPIO18(RX),GPIO19(TX)脚外接引出 |||

*ESP32不支持serialEvent(),改为轮询方式成功

复制代码
void setup() {
  // initialize serial:
  Serial1.begin(9600);
}
void loop() {
  if (Serial1.available() > 0) {
    String received = Serial1.readStringUntil('\n');
    // 处理接收到的数据
    Serial1.println("Received: " + received);
  }
  delay(10);
}
复制代码
附:无法下载解决办法(串口消失)

不上电时按住"BOOT"按键后,随后将ESP32C3模块接入USB,约10S后,会出现串口,松开按键,即可正常下载。

相关推荐
代码游侠6 小时前
学习笔记——设备树基础
linux·运维·开发语言·单片机·算法
CODECOLLECT9 小时前
京元 I62D Windows PDA 技术拆解:Windows 10 IoT 兼容 + 硬解码模块,如何降低工业软件迁移成本?
stm32·单片机·嵌入式硬件
BackCatK Chen10 小时前
STM32+FreeRTOS:嵌入式开发的黄金搭档,未来十年就靠它了!
stm32·单片机·嵌入式硬件·freertos·低功耗·rtdbs·工业控制
全栈游侠13 小时前
STM32F103XX 02-电源与备份寄存器
stm32·单片机·嵌入式硬件
Lsir10110_13 小时前
【Linux】中断 —— 操作系统的运行基石
linux·运维·嵌入式硬件
深圳市九鼎创展科技15 小时前
瑞芯微 RK3399 开发板 X3399 评测:高性能 ARM 平台的多面手
linux·arm开发·人工智能·单片机·嵌入式硬件·边缘计算
辰哥单片机设计15 小时前
STM32项目分享:车辆防盗报警系统
stm32·单片机·嵌入式硬件
小龙报16 小时前
【51单片机】从 0 到 1 玩转 51 蜂鸣器:分清有源无源,轻松驱动它奏响新年旋律
c语言·数据结构·c++·stm32·单片机·嵌入式硬件·51单片机
范纹杉想快点毕业16 小时前
嵌入式与单片机开发核心学习指南——从思维转变到第一性原理的深度实践
单片机·嵌入式硬件
Industio_触觉智能16 小时前
瑞芯微RK3566开发板规格书,详细参数配置,型号EVB3566-V1,基于RK3566核心板SOM3566邮票孔封装
嵌入式硬件·开发板·rk3568·rk3566·核心板·瑞芯微