我试图在我的arduino草图中使用一个4KB的字符串,但是这似乎总是会在控制台中产生大量的java错误,而且永远不会编译。我相信,我正确地使用了它:
const char sequence[] PROGMEM = {"0F0FF0 ... 0F0F0FF"};通过反复试验,我确定了我可以成功编译的最大长度是1104个字符。这似乎没什么意义。编译器中是否存在未知的限制,还是IDE存在问题?我使用的是1.0.5,但在1.6.5中也得到了同样的结果。我真的不想把数组分开。在线阅读时,大小限制应该是32 be,这比我需要的要高得多。如有任何帮助或解释,敬请见谅。
发布于 2015-07-12 04:04:01
这是IDE的一个限制,而不是编译器。如果仍然将其变为单个字符串,但使用C的字符串连接,则将进行编译。例如:
const char sequence[] PROGMEM = {
"0F0F0FF00F0F0FF00F0F0FF00F0F0FF00F0F0FF00F0F0FF00F0F0FF00F0F0FF00F0F0FF00F0F0FF00F0F0FF00F0F0FF00F0F0FF00F0F0FF00F0F0FF00F0F0FF0"
"0F0F0FF00F0F0FF00F0F0FF00F0F0FF00F0F0FF00F0F0FF00F0F0FF00F0F0FF00F0F0FF00F0F0FF00F0F0FF00F0F0FF00F0F0FF00F0F0FF00F0F0FF00F0F0FF0"
...
"0F0F0FF00F0F0FF00F0F0FF00F0F0FF00F0F0FF00F0F0FF00F0F0FF00F0F0FF00F0F0FF00F0F0FF00F0F0FF00F0F0FF00F0F0FF00F0F0FF00F0F0FF00F0F0FF0"
};https://stackoverflow.com/questions/31265943
复制相似问题