/******************************************************************************* * * ESP32: Uso de puertos seriales * ******************************************************************************* * FileName: ESP32-DevKitv1_UART_to_UART.ino * Processor: ESP32 * Complier: Arduino IDE v2.3.3 * Author: Pedro Sánchez (MrChunckuee) * Blog: http://mrchunckuee.blogspot.com/ * Email: mrchunckuee.psr@gmail.com * Description: Pequeño ejemplo para testear el manejo del puerto serial 2 * que incorpora el ESP32-WROOM. Como sabemos este incroporta * tres puertos seriales por hardware: U0UXD, U1UXD y U2UXD. * - U0UXD, se usa principalmente para programar el modulo, * pero tambien puede ser de proposito general. * - U1UXD, se usa para comunicar con una memoria SPI flash * interna del ESP32. No recomendable para el usar. * - U2UXD, libre para proposito general. ******************************************************************************* * Rev. Date Comment * v1.0.0 17/11/2024 - Creación y prueba de funcionamiento. * v1.0.1 04/12/2024 - Correecion para asegurarnos el uso de U2UXD. ******************************************************************************/ #define RXD2 16 #define TXD2 17 void setup() { Serial.begin(115200); //Formato configurar serial 1: Serial1.begin(baud-rate, protocol, RX pin, TX pin); Serial2.begin(115200, SERIAL_8N1, RXD2, TXD2); Serial.println("U0UXD - Serial TXD is on pin: "+String(TX)); Serial.println("U0UXD - Serial RXD is on pin: "+String(RX)); Serial2.println("U2UXD - Serial TXD is on pin: "+String(TXD2)); Serial2.println("U2UXD - Serial RXD is on pin: "+String(RXD2)); } void loop() { // Leemos puerto 2 y enviamos al puerto 0: if (Serial2.available()) { int inByte = Serial2.read(); Serial.write(inByte); } // Leemos puerto 0 y enviamos al puerto 2: if (Serial.available()) { int inByte = Serial.read(); Serial2.write(inByte); } }