我在 PROGMEM 中有几个二维数组。
我想将它们存储到另一个数组中,因此有一个 2d PROGMEM 数组的 PROGMEM 数组。
然后我想读出数据。
这就是我所拥有的
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...
}
我的错误是:
error: cannot convert 'const byte (*)[2] {aka const
unsigned char (*)[2]}' to 'const byte* const {aka const
unsigned char* const}' in initialization
我该怎么做?我一直在阅读并试图弄清楚这一点超过一个小时。我不知道我做错了什么。
有用的参考页面: