Diferència entre revisions de la pàgina «Ús del segon port sèrie»

De Wiki d'en Jordi Binefa
Dreceres ràpides: navegació, cerca
(Ús del segon port sèrie (UART 2) al TTGO basat en l'ESP32)
(Ús del segon port sèrie (UART 2) al TTGO basat en l'ESP32)
 
(Hi ha 2 revisions intermèdies del mateix usuari que no es mostren)
Línia 7: Línia 7:
 
[[Fitxer:Ttgo_pinout.png|center|caption]]
 
[[Fitxer:Ttgo_pinout.png|center|caption]]
  
Aquest és un codi de mostra per a fer passar el que arriba per U2_RXD i trametre-ho cap a U0_TXD, i el que arriba per U0_RXD trametre-ho cap U2_TXD.
+
Aquest és un codi de mostra per a fer passar el que arriba per U2_RXD i trametre-ho cap a U0_TXD, i el que arriba per U0_RXD trametre-ho cap U2_TXD. [https://binefa.cat/IoT/esp32/esp32_generic/esp32_serialPass/esp32_serialPass.ino Codi]:
  
 
  HardwareSerial HMISerial(2); // UART2. U2_RXD:GPIO16, U2_TXD:GPIO17
 
  HardwareSerial HMISerial(2); // UART2. U2_RXD:GPIO16, U2_TXD:GPIO17
Línia 20: Línia 20:
 
     HMISerial.write(Serial.read());
 
     HMISerial.write(Serial.read());
 
  }
 
  }
 +
 +
Connexió a la segona UART a 3,3 volts:
 +
[[Fitxer:Uart_3.png|center|caption]]
 +
 +
Connexió a la segona UART a 5 volts:
 +
[[Fitxer:Uart_5.png|center|caption]]

Revisió de 15:35, 4 juny 2018

Ús del segon port sèrie (UART 2) al TTGO basat en l'ESP32

Al TTGO basat en l'ESP32, la UART 2 té la pota GPIO16 connectada a RX (U2_RXD) i la GPIO17 a TX (U2_TXD).

A la placa del TTGO, amb pantalla inclosa, el GPIO16 també fa de reset de la pantalla OLED (OledRST). Per tant, fer-ne ús del GPIO 16 com a U2_RXD no ens permetrà reiniciar la pantalla OLED encastada.

caption

Aquest és un codi de mostra per a fer passar el que arriba per U2_RXD i trametre-ho cap a U0_TXD, i el que arriba per U0_RXD trametre-ho cap U2_TXD. Codi:

HardwareSerial HMISerial(2); // UART2. U2_RXD:GPIO16, U2_TXD:GPIO17
void setup(){
  Serial.begin(115200);    // U0_RXD:GPIO3, U0_TXD:GPIO1   (UART0)
  HMISerial.begin(115200); // U2_RXD:GPIO16, U2_TXD:GPIO17 (UART2)
}
void loop(){
  if (HMISerial.available())
    Serial.write(HMISerial.read());
  if (Serial.available())
    HMISerial.write(Serial.read());
}

Connexió a la segona UART a 3,3 volts:

caption

Connexió a la segona UART a 5 volts:

caption