confronto stringa esadecimale con strcmp()

Salve, mi sapete dire dove sbaglio ?

Ho necessità di leggere alcune stringhe in esadecimale e ho fatto questo programma di test.
Sembra funzionale ma solo fino al terzo Byte. Sembra che dal quarto byte in poi non viene fatta nessuna verifica. Grazie anticipatamente

[

#include <string.h>

byte variable[11];
byte index = 0;
byte flag = 0;

byte coderead1 [] = {0x7E, 0x09, 0x00, 0x03, 0x01, 0x73, 0x41, 0x00, 0x18, 0xD7, 0xA7};
byte coderead2 [] = {0x7E, 0x09, 0x00, 0x03, 0x01, 0x73, 0x01, 0x00, 0x18, 0x97, 0x27};


//===================================
//=              SETUP              =
//===================================
void setup() {
  Serial.begin(9600);
  delay(2000);
  Serial.println("-----START----");
  pinMode(3, OUTPUT);
  pinMode(2, OUTPUT);
  pinMode(LED_BUILTIN, OUTPUT);
  flag =0;
} // 
//===================================
//=              LOOP               =
//===================================
void loop() {
             digitalWrite(3, LOW);
             while (Serial.available() > 0)
                    {
                    byte b = Serial.read();
                    variable[index++] = b;
                    }
                    if (index == 11)
                         {
                          index = 0;
                          if (strcmp(coderead1, variable) == 0)
                            {
                            Serial.print("Corretto !!!!!");
                            Serial.println();
                            digitalWrite(2, HIGH);
                            delay(1000);
                            digitalWrite(2, LOW);
                       
                            }
                 else
                            {
                            Serial.print("ERRATO");
                            Serial.println();
                            
                            }
                          }
   }

Prima di tutto ti segnalo che, nella sezione in lingua Inglese, si può scrivere SOLO in Inglese ... quindi, per favore, la prossima volta presta più attenzione in quale sezione metti i tuoi post ...

... poi, essendo il tuo primo post, nel rispetto del regolamento della sezione Italiana del forum (… punto 13, primo capoverso), ti chiedo cortesemente di presentarti IN QUESTO THREAD (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con molta attenzione il su citato REGOLAMENTO ... Grazie.

Guglielmo

P.S.: Il tuo post è già stato spostato nell'opportuna sezione del forum "Italiano”dove puoi proseguire la discussione.
P.P.S.: Ti ricordo che, purtroppo, fino a quando non sarà fatta la presentazione, nessuno ti potrà rispondere, quindi ti consiglio di farla al più presto. :wink:

Invece di presentarsi ha posto la domanda nel forum inglese e ha trovato anche la risposta :o :o

torn24:
Invece di presentarsi ha posto la domanda nel forum inglese e ha trovato anche la risposta :o :o

La risposta era banale (0x00 è il terminatore di stringa) ... ma visto che fa "Cross Posting", il thread intanto viene chiuso e poi cancellato, dopo di che ... vedremo in futuro per l'utente.

Guglielmo