我正在使用 AVR-GCC 版本 4.7.0,当我尝试在闪存中创建字符串数组时,我收到错误:
变量 'menu' 必须是 const 才能通过 '<strong>attribute((progmem))' 放入只读部分</p>
我正在使用这段代码:
const char menu0[] PROGMEM = "choice0";
const char menu1[] PROGMEM = "choice1";
const char menu2[] PROGMEM = "choice2";
const char menu3[] PROGMEM = "choice3";
const char menu4[] PROGMEM = "choice4";
const char menu5[] PROGMEM = "choice5";
const char *menu[] PROGMEM = {menu0, menu1, menu2, menu3, menu4, menu5};
我已经阅读了 Stack Overflow 问题C - 如何使用 PROGMEM 存储和读取 char array,但我看到的所有答案都不包含const
关键字,这让我相信它们是在需要之前编写的。
如何解决这个问题?
const char * const menu[] PROGMEM = {menu0, menu1, menu2, menu3, menu4, menu5};
是答案。