Arduino 如何将二维数组转换为PROGMEM调用
我有一个非常大的阵列,我不想用光我宝贵的SRAM。PROGMEM中还有一个助手数组 这些阵列是:Arduino 如何将二维数组转换为PROGMEM调用,arduino,Arduino,我有一个非常大的阵列,我不想用光我宝贵的SRAM。PROGMEM中还有一个助手数组 这些阵列是: fontLookUp[265] font[96][8] 使用这些数组,我通过调用引用此地址的进程八次(每个字符八个字节中的每个字节一次)来获取字符的数据: font[fontLookUp[character]][x] 我只知道如何从PROGMEM读取一维数组。。。如何处理第二维[x]?数组只是指向内存地址的指针 int font [3][5]; int font [15]; 是这样的: fon
fontLookUp[265]
font[96][8]
使用这些数组,我通过调用引用此地址的进程八次(每个字符八个字节中的每个字节一次)来获取字符的数据:
font[fontLookUp[character]][x]
我只知道如何从PROGMEM读取一维数组。。。如何处理第二维[x]?数组只是指向内存地址的指针
int font [3][5];
int font [15];
是这样的:
font[2][1];
font[2*5+1]; // multiply by the 5 in font[3][->5<-]
*(font+2*5+1);
font[2][1];
字体[2*5+1];//乘以字体[3][->5所以“font[fontLookUp[character]][x]”看起来像是(pgm_read_byte(font+pgm_read_byte(fontLookUp+character)*8+x)??我试过了,但它不能正常工作。你忘了->*字体[fontLookUp[character]][x]应该是:*(font+fontLookUp[character]*8+x)这是未经测试的代码。