logo icon
Esp32 使用串口发送数据

Esp32 使用串口发送数据 创建时间:2026-10-31 07:20:38

在ESP32上,硬件串口的引脚分配是固定的,而不是直接指定引脚号。在使用Arduino框架时,为了方便使用硬件串口,可以通过指定串口号来访问对应的引脚配置。

在ESP32上,有多个硬件串口可用,分别是Serial1、Serial2、Serial3。这些串口的引脚分配如下:

Serial1:GPIO2 (TX)、GPIO15 (RX)

Serial2:GPIO17 (TX)、GPIO16 (RX)

Serial3:GPIO1 (TX)、GPIO3 (RX)

所以,当我们创建HardwareSerial对象时,可以通过指定串口号来访问对应的引脚配置。例如,使用HardwareSerial mySerial(2)表示使用Serial2,GPIO17 (TX)、GPIO16 (RX)。

#include <HardwareSerial.h>

HardwareSerial mySerial(2); // 使用硬件串口2

void setup() {
  mySerial.begin(9600, SERIAL_8N1, 17, 16); // 设置波特率为9600,使用引脚17和16作为串口
}

void loop() {
  String chinese = "你好"; // 中文字符串
  // 转换为UTF-8编码的字节序列
  byte utf8_bytes[] = {0xE4, 0xBD, 0xA0, 0xE5, 0xA5, 0xBD};
  
  // 发送字节序列
  mySerial.write(utf8_bytes, sizeof(utf8_bytes));
  
  delay(1000);
}