J'ai plusieurs tableaux 2D dans PROGMEM. Je veux les stocker dans un autre tableau, et donc avoir une matrice PROGMEM de 2d tableaux PROGMEM.Comment faire un tableau PROGMEM de tableaux 2D PROGMEM
Ensuite, je veux lire les données.
Voici ce que j'ai
void myFunc()
{
const static byte DATA1[3][2] PROGMEM =
{
-1, 6,
-3, 6,
-5, 5
};
const static byte DATA2[3][2] PROGMEM =
{
1, 0,
1, 0,
1, 0
};
const static byte DATA3[6][2] PROGMEM =
{
0, 1,
1, 3,
2, 4,
4, 4,
6, 3,
7, 1
};
//PROGMEM array of 2d arrays in PROGMEM
const static byte* const MY_DATA[] PROGMEM = {DATA1, DATA2, DATA3};
//read out the data now:
byte myData = pgm_read_byte(&((MY_DATA[arrayNum])[x][y]));
//use the data here, etc, etc...
}
Mon erreur est:
error: cannot convert 'const byte (*)[2] {aka const
unsigned char (*)[2]}' to 'const byte* const {aka const
unsigned char* const}' in initialization
Comment suis-je censé faire? J'ai lu et essayé de comprendre cela pendant une heure. Je ne sais pas ce que je fais mal.
pages de référence utiles:
- http://www.nongnu.org/avr-libc/user-manual/pgmspace.html
- http://www.nongnu.org/avr-libc/user-manual/group__avr__pgmspace.html#ga963f816fc88a5d8479c285ed4c630229
- https://www.arduino.cc/en/Reference/PROGMEM
pourquoi le downvote? –
Essayez d'abord d'utiliser le type correct. 'const octet statique (* const MY_DATA []) [2] PROGMEM = {DATA1, DATA2, DATA3};' – MikeCAT
C'était tout. Merci! Je suis désolé, je dois dire que je ne comprends pas exactement si. Pouvez-vous en faire une réponse et l'expliquer en détail, s'il vous plaît? –