Buenos días,
Soy nuevo en este foro y nuevo en el uso de arduino. Tengo que enviar por un puerto D2BUS unos comandos en hexadecimal, creando un puerto virtual y usando el programa Terminal como ''sniffer'' para ver exactamente que estoy enviando por el puerto serie.
Este es mi codigo:
byte message1[] = {0x04,0x00,0x50,0x00,0x11,0x00,0x43,0xD8};
byte message2[] = {0x07,0x00,0x50,0x01,0x11,0x31,0x32,0x80,0x61,0x26,0x10};
byte message3[] = {0x07,0x30,0x51,0xBE,0x17,0x06,0x00,0x00,0x00,0x9A,0x99,0x3A };
byte message4[] = {0x06,0x00,0x51,0x01,0x11,0x8F,0xAA,0x55,0x9D,0x33};
byte message5[] = {0x06,0x00,0x51,0x01,0x11,0x07,0x55,0xAA,0x12,0xC7};
void setup() {
// put your setup code here, to run once:
Serial.begin(19200);
//Serial.write();
delay(15000);
}
void loop() {
Serial.write(message1, sizeof(message1));
delay(200);
Serial.write(message2, sizeof(message2));
delay(300);
Serial.write(message3, sizeof(message3));
delay (500);
for (int i = 0; i<=7000; i++){
delay(6000);
Serial.write(message4, sizeof(message4));
delay(6000);
Serial.write(message5, sizeof(message5));
}
}
He adjuntado imágenes de lo que obtengo en el sniffer, como se puede observar, antes de enviar el mensaje 1 envía un código... El problema es que cada vez que reinicio el arduino, envía un código diferente antes de enviar lo que yo le ordeno y creo que esto hace que el microcontrlador de la muestra que estoy testeando, no llegue a encender.
Un saludo
Gracias por su tiempo