0

我试图在我的 arduino 草图中使用单个 4KB 字符串,但这似乎总是在控制台中给出一大堆 java 错误并且永远不会编译。我相信,我正确使用它:

const char sequence[] PROGMEM = {"0F0FF0 ... 0F0F0FF"};

通过反复试验,我确定我可以成功编译的最大长度是 1104 个字符。这似乎没有多大意义。编译器中是否有一些未知的限制,或者是 IDE 的问题?我正在使用 1.0.5,但我在 1.6.5 中也得到了相同的结果。我真的不想拆分数组。在线阅读,大小限制应该是32KB,远远高于我需要的。任何帮助或解释表示赞赏,请谢谢。

4

1 回答 1

1

这是IDE的限制,而不是编译器。如果您仍然将其设为单个字符串,但使用 C 的字符串连接,它将编译。例如。

const char sequence[] PROGMEM = {
"0F0F0FF00F0F0FF00F0F0FF00F0F0FF00F0F0FF00F0F0FF00F0F0FF00F0F0FF00F0F0FF00F0F0FF00F0F0FF00F0F0FF00F0F0FF00F0F0FF00F0F0FF00F0F0FF0"
"0F0F0FF00F0F0FF00F0F0FF00F0F0FF00F0F0FF00F0F0FF00F0F0FF00F0F0FF00F0F0FF00F0F0FF00F0F0FF00F0F0FF00F0F0FF00F0F0FF00F0F0FF00F0F0FF0"
...
"0F0F0FF00F0F0FF00F0F0FF00F0F0FF00F0F0FF00F0F0FF00F0F0FF00F0F0FF00F0F0FF00F0F0FF00F0F0FF00F0F0FF00F0F0FF00F0F0FF00F0F0FF00F0F0FF0"
};
于 2015-07-12T04:04:01.340 回答