Arduino,最大阵列大小> 255?

时间:2014-02-06 10:38:52

标签: c arduino

我正在使用Arduino-IRremote代码读取Arduino Uno R3上遥控器的AC单元。

有一个unsigned int rawCodes[RAWBUF]。当我将RAWBUF设置为255时,一切都很好。我把它推到256并上传得很好,但是没有回复。

这是内存限制吗? According to this,但事实并非如此。我应该能够得到~400个元素。

另外,因为我打的限制是255让我相信还有其他事情发生。

谢谢,贾斯汀

2 个答案:

答案 0 :(得分:0)

你不应该有这个限制。

你正在玩大量的内存。你确定你有足够的可用内存吗? 看起来你在谈论运行时错误(内存泄漏/段错误类型)。

您可以检查total available内存或检查this great article (and code)如何调试AVR。

此外,如果您使用大量静态字符串分配,则可以使用PROGMEM存储来减少内存使用量(并且会影响草图的可用大小)。

答案 1 :(得分:0)

发现控制缓冲区大小的变量是uint8_t,所以它只是简单的改为16,现在我们已经得到了我想要的长度。

https://github.com/shirriff/Arduino-IRremote/issues/49