Enabling IRda on Serial 2
-
I'm trying to enable IRda TX and RX in the configuration for my M5core in Arduino. I saw in the documentation that this is possible: https://docs.espressif.com/projects/esp-idf/en/latest/api-reference/peripherals/uart.html#api-reference
However, I don't know what library functions in Arduino I need to call to enable this.
Here's my code so far:
#include <M5Stack.h>
void setup() {
M5.begin();
Serial.begin(115200);
// Serial2.begin(unsigned long baud, uint32_t config, int8_t rxPin, int8_t txPin, bool invert)
Serial2.begin(115200, SERIAL_8N1, 22, 21,0);
}Any pointers on how to enable IRda tx and rx would be much appreciated! OR please show me where to look for the right configuration keyboard/syntax!
Thank you!
-
@quangan
Hi Maybe you can refer to this article.https://www.esp32.com/viewtopic.php?t=276
/* IRda transmitter */ //HardwareSerial Serial1(1); HardwareSerial Serial2(2); // GPIO 17: TXD U2 + GPIO 16: RXD U2 void setup() { Serial.begin (115200); // (USB + TX/RX) to check Serial2.begin(115200); // GPIO 17: TXD U2 + GPIO 16: RXD U2 //UART_CONF0_REG Configuration register 0 //UART0: 0x3FF40020 //UART1: 0x3FF50020 //UART2: 0x3FF6E020 WRITE_PERI_REG( 0x3FF6E020 , READ_PERI_REG(0x3FF6E020) | (1<<16 ) | (1<<10 ) ); //UART_IRDA_EN + UART_IRDA_TX_EN "Let there be light" //Serial.print("Reg: "); Serial.println(READ_PERI_REG(0x3FF6E020),BIN); //For Debug only }//setup void loop() { Serial.println("Hello"); Serial2.println("Hello"); delay(1000); } //loop
-
@m5-docs The link should be https://esp32.com/viewtopic.php?t=2766
(add one 6 to the end) -
Does anyone know how to 'redirect' the UART on Pin 17 for sending to Pin 9. This since the IR-Led on the M5StickC and others within the M5-Family is build connected to Pin 9. It would be interesting to have that light use the irDA protocol, since it is already available inside it.