#include <HardwareSerial.h> //导入ESP32串口操作库,使用这个库我们可以把串口映射到其他的引脚上使用 //我们测试需要用到的串口,ESP32一共有3个串口,串口0应该是用于程序烧写和打印输出调试用的,所以我们只用1和2 HardwareSerial MySerial_stm32(1); void setup() { Serial.begin(115200); //串口的开启,这里还可以传一些别的参数,但是我们只传入下面四个最重要的:波特率,默认SERIAL_8N1为8位数据位、无校验、1位停止位,后面两个分别为 RXD,TXD 引脚 MySerial_stm32.begin(115200, SERIAL_8N1, 3, 1); //MySerial_stm32.updateBaudRate(9600); //重新设置波特率; //MySerial_stm32.end(); //失能串口,释放占用的资源 } void loop() { MySerial_stm32.println("usart test!!!"); delay(1000); }
HardwareSerial库实现了对串口1的使用,HardwareSerial类在声明对象时接收一个输入参数(0、1、2),分别代表Serial、Serial1、Serial2;
如上图:
ESP32CAM的TX也就是U0TXD对应引脚1。
ESP32CAM的RX也就是U0RXD对应引脚3。
所以MySerial_stm32.begin初始化时,第三个、第四个参数是3和1。
参考:
使用Arduino开发ESP32:串口(Serial port) HardwareSerial库使用说明_eben_8292的博客-CSDN博客