Probleme d'accès à un tableau

Bonjour à tous,
Nouveau sur le forum et grand débutant en Arduino, je souhaite accéder à un tableau mais je ne sais vraiment pas comment faire, j’ai essayé plein de chose sans succès…
(arduino Uno et IDE arduino)
voici le tableau :

const byte tab[] = {(1, 1, 1, 1, 1, 1, 0, 0),
                    (0, 1, 1, 0, 0, 0, 0, 0),
                    (1, 1, 0, 1, 1, 0, 1, 0),
                    (1, 1, 1, 1, 0, 0, 1, 0),
                    (0, 1, 1, 0, 0, 1, 1, 0),
                    (1, 0, 1, 1, 0, 1, 1, 0),
                    (1, 0, 1, 1, 1, 1, 1, 0),
                    (1, 1, 1, 0, 0, 1, 0, 0),
                    (1, 1, 1, 1, 1, 1, 1, 0),
                    (1, 1, 1, 1, 0, 1, 1, 0),
                    (0, 0, 0, 0, 0, 0, 0, 1)
                   };

Comment accéder a tab[0] pour afficher les bytes un à un ? J’ai essayé avec des boucles imbriquées, mais sans réussir …
Je souhaiterais au moins afficher dans la console série avec un Serial.println(); et que le résultat soit 1, 1, 1, 1, 1, 1, 0, 0

C’est là que j’ai besoin de vos conseils éclairés.
Merci pour le temps que vous allez m’accorder.
Micka.

Bonjour,

Ton tableau semble être un tableau à deux dimensions. Si c’est le cas, il faut le définir comme tel

const byte tab[][8] =
{
  {1, 1, 1, 1, 1, 1, 0, 0},
  {0, 1, 1, 0, 0, 0, 0, 0},
  {1, 1, 0, 1, 1, 0, 1, 0},
  {1, 1, 1, 1, 0, 0, 1, 0},
  {0, 1, 1, 0, 0, 1, 1, 0},
  {1, 0, 1, 1, 0, 1, 1, 0},
  {1, 0, 1, 1, 1, 1, 1, 0},
  {1, 1, 1, 0, 0, 1, 0, 0},
  {1, 1, 1, 1, 1, 1, 1, 0},
  {1, 1, 1, 1, 0, 1, 1, 0},
  {0, 0, 0, 0, 0, 0, 0, 1}
};

Pour l’afficher:

const byte tab[][8] =
{
  {1, 1, 1, 1, 1, 1, 0, 0},
  {0, 1, 1, 0, 0, 0, 0, 0},
  {1, 1, 0, 1, 1, 0, 1, 0},
  {1, 1, 1, 1, 0, 0, 1, 0},
  {0, 1, 1, 0, 0, 1, 1, 0},
  {1, 0, 1, 1, 0, 1, 1, 0},
  {1, 0, 1, 1, 1, 1, 1, 0},
  {1, 1, 1, 0, 0, 1, 0, 0},
  {1, 1, 1, 1, 1, 1, 1, 0},
  {1, 1, 1, 1, 0, 1, 1, 0},
  {0, 0, 0, 0, 0, 0, 0, 1}
};
const byte NB_LIGNES=sizeof tab/sizeof tab[0];

void setup()
{
  Serial.begin(115200);

  for (byte ligne=0; ligne<NB_LIGNES; ligne++)
  {
    for (byte col=0; col<8; col++)
    {
      Serial.print(tab[ligne][col]);
      Serial.print(" ");
    }
    Serial.println();
  }
}

void loop()
{
}
1 Like

Merci Kamill ça fonctionne à merveille, super réponse et super rapide, quelle classe !!!
Merci

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.