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 小时前
#浮动源 vs 共地源:模拟 IC 测试中的 VI 源架构详解
嵌入式硬件
安妮细水长流9 小时前
汽车电子面试问题记录
单片机
碎光拾影9 小时前
i.MX6ULL时钟系统配置指南
c语言·arm开发·嵌入式硬件
wuyk55512 小时前
59.嵌入式C语言高级宏定义实战:多行宏、字符串化与符号拼接
c语言·开发语言·stm32·单片机·嵌入式硬件·物联网·51单片机
梅名智12 小时前
找不到libm.so, libc.so
嵌入式硬件
CPETW12 小时前
企业版配套软件介绍 ---- USB TO SPI 3.0-Slave
网络·科技·单片机·嵌入式硬件·电子
piaoyiren12 小时前
STM32 综合温控风扇控制系统
stm32·单片机·嵌入式硬件·oled·lcd1602·hc-05蓝牙
Echo_cy_14 小时前
基于ZYNQ-7000的Ethernet驱动配置
linux·驱动开发·嵌入式硬件·fpga开发·ethernet·zynq
武汉万象奥科15 小时前
万象奥科OpenHarmony 6.1 LTS适配完成,RK3576核心板再添新生态
arm开发·嵌入式硬件·物联网·rk3576·arm核心板
亿道电子Emdoor16 小时前
【Arm】解决Keil MDK无法查看外设寄存器的问题
stm32·单片机·嵌入式硬件