Recibir datos de un dispositivo Rs232 con Arduino Mega

La información de las imágenes las saque del manual de usuario del aparato, en el link solo viene su información técnica y la puse para que supieran de que aparato hablo.

El manual no está en la red ya que me lo mando el fabricante como información confidencial :o

Quiero comentar que logré que el aparato me mande la información que pedía de la siguiente manera, resulta que necesita códigos de confirmación después del "comando lectura de código de barras" el aparato responde "06" y un "10"y espera un "comando de confirmación" al cual llame "ok" (es 12 05 en Hex).
si lo hago de la manera siguiente logro leer la información completa!

byte readbc[]={0x12,0x02,0x42,0x23,0x03,0x30,0x30,0x04};// comando para leer código de barras readbarcode 
byte ok[]={0x12,0x05};// comando de confirmación


byte inByte;
void setup()
{
 Serial.begin(9600);
 Serial1.begin(9600);
 Serial.println("Start");
 delay(10);

}
void loop(void)
{
  Serial1.write (readbc,8);
  delay(100);
  if (inByte == 06)
      {
         Serial1.write(ok,2);//comando ok 
          delay(100);
      }
      if (inByte == 10)
      {
         Serial1.write(ok,2);//comando ok 
          delay(100);
          
      }
     leoSerial();
     delay(5000);   
     
}
void leoSerial() {
    while (Serial1.available()>0) {
           inByte = Serial1.read();
           delay(100);
           Serial.println(inByte);
    }
}

así logro ver en el monitor serial la siguiente respuesta

Start
6
6
2
66
35
48
48
48
48
48
48
48
49
51
50
48
49
55
49
48
50
51
49
52
49
49
50
51
3
53
50
4

y es la información que esperaba ya que el código de barras es "00001320171023141123"
la trama completa sería cómo en la siguiente imagen:

ahora el desafío es controlarla guardarla en una variable saber separarla etcétera, ya he encontrado información en el foro, así que trabajo en ello y la pregunta principal (saber si estoy leyendo de manera correcta el puerto serial) está resuelta, muchísimas gracias por la atención y ayuda Ricardo.

1 Like