Hola Amigos,
en ésta ocasión les quiero preguntar acerca de la comunicacion serial ttl/cmos.
No sé si aplique acá el topic,
estoy trabajando con un módulo lolin esp 32d (por la capacidad de memoria)
estoy tratando de comunicarme con la pantalla lcd touch, ésta se comunica por puerto serial y la trama es Hex.
entonces, tengo conectado el esp32 a la pantalla,
el diseño del GUI tiene varios botones y al tratar de recibir datos solo recibo una trama (no interesa qué botón oprima)
"fe f7 fd ff f7 0 2d a9 be"
mientras que debería recibir (por ejemplo)
"a5 5a 06 83 00 04 00 02"
como estoy apenas empezando con éste desarrollo, el código es el básico,
he ensayado la lectura con variables int, bool, uint8_t, float, y nó encuentro lógica en la trama recibida.
asumo que lo que se sucede es un error en el protocolo de lectura...
(al tratar igual de enviar una trama como HEX, la pantalla no reacciona)
el string "hand" es una trama que segun el manual de la pantalla debería enviarse al iniciar el dispositivo, lo he incluido en el setup, pero igual, nada sucede.
"rojo1" y "negro1" son las tramas que envío para cambiar el color de letra de un texto en pantalla
(para éste ejemplo en particular, no estoy escribiendo nada)
me estoy concentrando en leer y/o entender la trama.
#include <SoftwareSerial.h>
#define RXD2 16 //gris
#define TXD2 17 //morado
byte trama[9];
byte hand[6]={0xAA,0x00,0xCC,0x33,0xC3,0xC3};
byte rojo1 [8]={0xA5,0x5A,0x05,0X82,0X10,0X03,0XF8,0X00};
byte negro1 [10]={0xA5,0x5A,0x00,0x05,0x82,0X10,0X03,0X00,0X00};
void setup() {
// Note the format for setting a serial port is as follows: Serial2.begin(baud-rate, protocol, RX pin, TX pin);
Serial.begin(115200);
Serial2.begin(115200, SERIAL_8N1, RXD2, TXD2);
Serial.println("Serial Txd is on pin: "+String(TXD2));
Serial.println("Serial Rxd is on pin: "+String(RXD2));
//Serial2.write (hand,6);
}
void loop() { //Choose Serial1 or Serial2 as required
for(int i=0; i<=10; i++){
if(Serial2.available()){
trama[i] = Serial2.read();
Serial.println(trama[i], HEX);
}
}
}
La Pantalla es una LCD touch 10.1"
Nuevamente, gracias por su apoyo.