Uart - ArduinoIDE mit ESP32
          
        Quellen
        circuits4you.com : 
ESP32 Hardware Serial2 Example
        Übersicht
        
        Das ESP32UnoBoard stellt dem Benutzer unter der ArduinoIDE drei UARTs bereit: 
          •  ESP32-Serial (SerialUSB) 
          •  ESP32-Serial1 
          •  ESP32-Serial2 
        
Hardware
        Pin-Layout des ESP32UnoBoards: 
        
          
          Pin-Belegung ESP32UnoBoard
        
        
        Die UARTs sind standardmässig folgenden Pins zugeordnet: 
        
        
          
            |  UART     | 
             Software     | 
             Pin TxD     | 
             Pin RxD     | 
             Note             | 
          
          
            | UART0 | 
            Serial | 
            GPIO1 | 
            GPIO3 | 
            Serial (USB) | 
          
          
            | UART1 | 
            Serial1 | 
            GPIO10 | 
            GPIO9 | 
            Serial1 | 
          
          
            | UART2 | 
            Serial2 | 
            GPIO17 | 
            GPIO16 | 
            Serial2 | 
          
        
        
        Eine typische technische Umsetzung von den LVTTL-IO-Pegeln des MicroControllers 
        zu USB-Signalen findet über einen UART-USB-Converter statt.
        Der USB-Ausgang des UART-USB-Converters wird über ein USB-Daten-Kabel 
        (USB2MiniAB - USB2StandardA) mit dem einem PC verbunden.
       
        Ausgenommen ist dabei der SerialUSB-Port: 
        hier wird zur PC-Verbindung ein USB-Daten-Kabel (USB2MicroAB - USB2StandardA) 
        benötigt:
        
        
          
          Verschaltung von drei UARTs beim ESP32UnoBoard
        
        Software
        Unter der Software "ArduinoIDE" stellt der Benutzer den korrekten Prozessor ESP32 ein:
        
          
          ArduinoIDE mit ESP32(-UnoBoard)
        
        Im "DeviceManger" unter "Port (COM & LPT)" sieht der Benutzer alle real 
        verfügbaren seriellen UART-Schnittstellen:
        
        
          
          DeviceManager
        
        
        In diesem Beispiel stehen drei UARTs: 
          •  1x ESP32-USB: COM4 
          •  2x UART-USB-Converter: COM50, COM55 
        für den ESP32 zur Datenübertragung bereit - die ESP32-USB-Schnittstelle benötigt 
        die ArduinoIDE ausschliesslich zur Programmierung und daher steht danach diese 
        Schnittstelle dem Benutzer zur freien Verwendung.
        
        Das Beispiel "Esp32 mit UART0, UART1 und UART2 im Terminalbetrieb" zeigt 
 
        den Protokoll-Mitschnitt des Transmits aller drei UART-Schnittstellen im PC:
        
        
          
          Esp32 mit UART0, UART1 und UART2 im Terminalbetrieb
        
               
        Den zugehörigen Quelltext für das Esp32UnoBoard zeigt das Listing:
        
        
               
  //
  #include 
  //
  //----------------------
  //  Define
  //----------------------
  const int PIN_LEDSYSTEM = 2;
  const int PERIOD_BLINK = 333;   // [ms]
  // Uart0 - USB
  const int PIN_UART0_TXD =  1;
  const int PIN_UART0_RXD =  3;
  // Uart1 - A
  const int PIN_UART1_TXD = 25;
  const int PIN_UART1_RXD = 26;
  // Uart2 - B
  const int PIN_UART2_TXD = 17;
  const int PIN_UART2_RXD = 16;
  //
  #define UartUSB Serial
  #define UartPCA Serial1
  #define UartPCB Serial2
  //
  //----------------------
  //  Global
  //----------------------
  int CounterDebug = 0;
  //
  //----------------------
  //  Main - Setup
  //----------------------
  void setup(void)
  {
    pinMode(PIN_LEDSYSTEM, OUTPUT);
    //
    UartUSB.begin(115200, SERIAL_8N1, PIN_UART0_RXD, PIN_UART0_TXD);
    UartPCA.begin(115200, SERIAL_8N1, PIN_UART1_RXD, PIN_UART1_TXD);
    UartPCB.begin(115200, SERIAL_8N1, PIN_UART2_RXD, PIN_UART2_TXD);
    delay(333);
    //
    UartUSB.println("\r\n*** Esp32Uart-0-USB ***");
    UartPCA.println("\r\n*** Esp32Uart-1-PCA ***");
    UartPCB.println("\r\n*** Esp32Uart-2-PCB ***");
  }
  //
  //----------------------
  //  Main - Loop
  //----------------------
  void loop(void) 
  {
    digitalWrite(PIN_LEDSYSTEM, HIGH);
    delay(PERIOD_BLINK);
    digitalWrite(PIN_LEDSYSTEM, LOW);
    delay(PERIOD_BLINK);
    //
    CounterDebug++;
    UartUSB.print("Esp32Uart-0-USB> ");
    UartUSB.println(CounterDebug);
    //
    UartPCA.print("Esp32Uart-1-PCA> ");
    UartPCA.println(CounterDebug);
    //
    UartPCB.print("Esp32Uart-2-PCB> ");
    UartPCB.println(CounterDebug);  
  }
        
 
        
        Download des Listings: 
2205292145_Esp32Uart_01V01_AI.zip 
        
        
        WebSites   
        Module   
        Elektronik   
        Uart