6

我有三个 char 数组,我不希望 Arduino 将它们存储在SRAM中,所以我想使用 PROGMEM 来存储和读取flash,而不是。

char *firstArr[]={"option 1","option 2","option 3","option 4"};
char *secondArr[]={"test 1","test 2"};
4

2 回答 2

6

在 Arduino 网站上有一个关于如何精确执行此操作的示例。(参见“字符串数组”一节。)

于 2012-10-26T20:27:32.960 回答
3

是的,Arduino 网站上有一个示例。但我想让您了解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")))
于 2012-10-26T20:39:19.257 回答