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

相关推荐
这波不该贪内存的12 小时前
裸机开发VS单片机:架构与实战对比
单片机
山羊硬件Time13 小时前
自动化管理Linux的好工具:shell script
linux·嵌入式硬件·硬件工程师·基带工程·硬件开发
神一样的老师13 小时前
【兆易创新GD32VW553开发板试用】红外遥控接入天气时钟实战
驱动开发·单片机·嵌入式硬件
asjodnobfy13 小时前
Π型滤波电路
嵌入式硬件·硬件工程
多看多敲多思考15 小时前
华润微CS32ME10 MCU使用教程(2)---CS32ME10之UART串口模块使用
stm32·单片机·嵌入式硬件·mcu
神一样的老师15 小时前
【兆易创新GD32VW553开发板试用】天气时钟设计与调试实战
单片机·嵌入式硬件·物联网
国科安芯16 小时前
核电站仪控与监测系统中抗辐射 MCU 芯片应用研究
单片机·嵌入式硬件·macos·无人机·cocos2d·核电站
黑白园16 小时前
STM32系统时钟由72M修改为36M验证示例
stm32·单片机·嵌入式硬件
LCG元17 小时前
基于ARM7的LCD设计与实现:S3C4510B通用IO口控制液晶模块
stm32·单片机·嵌入式硬件
山后太阳17 小时前
Keil5(MDK-ARM)完整下载安装教程+入门教程:从零搭建STM32开发环境
arm开发·stm32·嵌入式硬件