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后,会出现串口,松开按键,即可正常下载。

相关推荐
v先v关v住v获v取17 分钟前
桌面级五轴机械臂cad1张总图+三维图+设计说明书
科技·单片机·51单片机
电子工程师-C5117 分钟前
基于51单片机的智能调温淋浴器
单片机·嵌入式硬件·51单片机
番茄灭世神1 小时前
32位ARM单片机视频教程第一篇
arm开发·单片机·嵌入式·gd32·pn学堂
尼喃3 小时前
3.7V锂电池充电芯片精选,PW4054H/PW4057H/PW4056HH/PW4213一站式解决方案
单片机·51单片机·芯片
国科安芯3 小时前
RISC-V 异常中断机制全解析
运维·单片机·嵌入式硬件·安全·risc-v·安全性测试
猪八戒1.03 小时前
STM32F407 systick延迟
stm32·单片机·嵌入式硬件
先知后行。3 小时前
常见元器件3
单片机·嵌入式硬件
GUET_一路向前5 小时前
STM32 MCU OTA 升级办法2
stm32·单片机·嵌入式硬件
brave and determined5 小时前
传感器学习(day15):无人超市:从技术狂欢到理性回归,RFID的发展
单片机·嵌入式硬件·rfid·数字电路·nfc·嵌入式设计·近场通讯
wotaifuzao6 小时前
I2C通信--深度解析与未来发展
单片机·嵌入式硬件·物联网·信息与通信·i2c