#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博客