6
我有三個字符數組,我不希望Arduino將那些存儲在SRAM中,所以我想用PROGMEM來存儲和讀取flash,而不是。C - 如何使用PROGMEM來存儲和讀取字符數組
char *firstArr[]={"option 1","option 2","option 3","option 4"};
char *secondArr[]={"test 1","test 2"};
我有三個字符數組,我不希望Arduino將那些存儲在SRAM中,所以我想用PROGMEM來存儲和讀取flash,而不是。C - 如何使用PROGMEM來存儲和讀取字符數組
char *firstArr[]={"option 1","option 2","option 3","option 4"};
char *secondArr[]={"test 1","test 2"};
有一個例子可以說明如何做到這一點on the Arduino website。 (參見「字符串陣列」。)
是的,Arduino網站上有一個例子。但我想讓你知道一個compiler bug in GCC,以及以下解決方法:
/**
* Alternative to PROGMEM storage class
*
* Same effect as PROGMEM storage class, but avoiding erroneous warning by
* GCC.
*
* \see http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34734
*/
#define PROGMEM_ __attribute__((section(".progmem.data")))