Uart - VSCode mit ESP32
          
       Quellen
        circuits4you.com : 
ESP32 Hardware Serial2 Example
        Übersicht
        
        Das ESP32UnoBoard stellt dem Benutzer unter VSCode 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 "VSCode" mit dem AddOn "PlatformIO" erstellt der 
        Benutzer ein neues Projekt für den Prozessor "ESP32": 
        
        
          
          VSCode: Projekt mit ESP32UnoBoard
        
        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: COM31, COM32 
        für den ESP32 zur Datenübertragung bereit. 
        Die ESP32-USB-Schnittstelle benötigt VSCode ausschliesslich zur Programmierung 
        und daher steht nach der Programmierung des ESP32 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 UARTUSB, UART1 und UART2 im Terminalbetrieb
        
               
        Den zugehörigen VSCode-Quelltext "main.cpp" 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 VSCode-Projekts: 
2206051130_VSEsp32Uart_01V01.zip 
        
        
        WebSites   
        Module   
        Elektronik   
        Uart