我使用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