我使用Arduino-IRremote代码读取远程Arduino Uno R3上的AC单元。Arduino,最大阵列大小> 255?
有一个unsigned int rawCodes[RAWBUF]
。当我将RAWBUF
设置为255时,这一切都很好。我把它推到256,它上传得很好,但没有回应。
这是一个内存限制吗? According to this,不是。我应该可以获得〜400个元素。
另外,因为我碰到的限制是255,所以我相信还有其他事情正在发生。
谢谢,贾斯汀
我使用Arduino-IRremote代码读取远程Arduino Uno R3上的AC单元。Arduino,最大阵列大小> 255?
有一个unsigned int rawCodes[RAWBUF]
。当我将RAWBUF
设置为255时,这一切都很好。我把它推到256,它上传得很好,但没有回应。
这是一个内存限制吗? According to this,不是。我应该可以获得〜400个元素。
另外,因为我碰到的限制是255,所以我相信还有其他事情正在发生。
谢谢,贾斯汀
你不应该有这个限制。
你正在玩大量的内存。你确定你有足够的可用内存吗? 看起来你在说这里的运行时错误(内存泄漏/段错误类型)。
您可以检查total available内存或检查this great article (and code)如何调试AVR。
另外,如果您使用重静态字符串分配,则可以通过使用PROGMEM存储器(并影响草图的可用大小)来减少内存使用量。
发现控制缓冲区大小的变量是uint8_t,所以它是对16的简单改变,现在我们已经获得了我想要的长度。
感谢您的提示,内存就像我们怀疑罚款。我在4天前发布了这个帖子:https://github.com/shirriff/Arduino-IRremote/issues/49。我确切的问题。有时间深入研究代码。 – nitsujri
不客气!只是想帮助。好的工作和快乐的黑客行为:-) – djsb