簡體   English   中英

存儲在閃存中的字符串數組,其中包含Arduino中的PROGMEM

[英]An array of strings stored in flash with PROGMEM in Arduino

我正在使用AVR-GCC版本4.7.0,當我嘗試在FLASH內存中創建一個字符串數組時,我得到錯誤:

變量'menu'必須是const才能通過' attribute ((progmem))'進入只讀部分

我正在使用此代碼:

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數組 ,但我看到的所有答案都沒有包含const關鍵字,這讓我相信它們是在需要之前編寫的。

如何解決這個問題?


const char * const menu[] PROGMEM = {menu0, menu1, menu2, menu3, menu4, menu5};

是答案。

嘗試

const char* const menu[] PROGMEM...

因此,數組本身是常量,而不是const char*指針的可變數組,就像在原始代碼中一樣。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM