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

相关推荐
沉在嵌入式的鱼2 小时前
STM32--编码器(E6B2-CWZ1X)
stm32·单片机·嵌入式硬件·编码器·e6b2-cwz1x
SUNNYSPY0012 小时前
2N7002K-ASEMI智能家居控制专用2N7002K
单片机
bai5459362 小时前
STM32 PWM驱动电机
stm32·单片机·嵌入式硬件
cooldream200910 小时前
小智 AI 智能音箱深度体验全解析:人设、音色、记忆与多场景玩法的全面指南
人工智能·嵌入式硬件·智能音箱
聚能芯罗1803804647612 小时前
Hi8001/Hi8002高集成升压芯片2.7-40V 宽输入电压智芯一级代理聚能芯半导体原厂技术支持
嵌入式硬件
传感器与混合集成电路13 小时前
PSOC 7020运算模块解析:从放大器到ADC的片上模拟集成之道
嵌入式硬件·物联网
bai54593614 小时前
STM32单片机光敏传感器控制蜂鸣器
stm32·单片机·嵌入式硬件
米羊12114 小时前
FAT32(上)
stm32·单片机·嵌入式硬件
MARIN_shen16 小时前
Marin说PCB之电容物料的替换经验总计--03
嵌入式硬件·硬件工程·信号处理·pcb工艺