![](/img/trans.png)
[英]How do i store a byte array in Arduino flash memory using 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.