Yep!
Oulala ! Tu as un problème avec les tableaux dites donc
Lorsque tu définis un tableau, il faut bien distinguer la valeur entre crochet et la manière dont le µC va le gérer.
byte monTableau[6] = {1, 2, 3, 4, 5, 6};
La valeur entre crochet est telle que nous la comptons nous autre humain, il contient bien ici 6 élements (ou 6 cases mémoires).
Je ne rentrerais pas dans le détail du pourquoi, c'est comme çà un point c'est tout
Par contre, le microcontrolleur comme tout bon microcontroleur, commence à compter à partir de 0,
Reprenons :
byte monTableau[6] = {1, 2, 3, 4, 5, 6}; // comptage pseudo-humain
......................................0, 1, 2, 3, 4, 5 // comptage du microcontrolleur
Ainsi, lorsque tu créés une boucle ou un appel à ce tableau, tu utilises le langage du µC et commences à compter à partir de zero :
monTableau[0] = 1
monTableau[1] = 2
monTableau[2] = 3
monTableau[3] = 4
monTableau[4] = 5
monTableau[5] = 6
A savoir que lorsque tu fabriques un tableau, tu fais appel à la gestion de la mémoire du microcontrolleur et à un moment donné, il faut bien dire à la mémoire que le tableau est fini.
Si tu essayais d'appeler monTableau[12], le compilateur te retournerait une erreur car tu as créé un tableau de 6 cases et pas 13
En esperant avoir clarifié un peu la situation XD
@+
Zoroastre.