2014-02-21 69 views
-1

我想在一個arduino uno上使用atmega328構建一個二維數組。我想要一個大小爲256 * 18的布爾值數組。這對於2KB RAM來說很大,所以我想將它保存到PROGMEM(avr)中。我如何做到這一點,我如何訪問變量?我發現了一些關於使用字符或字符串做同樣的tutotials,但是沒有布爾值的數據類型。什麼是最好的方式保存和從字符中提取布爾值。在Arduino的PROGMEM(AVR)布爾二維陣列

回答

1

正如您可能已閱讀有關使用程序空間(又名閃存)的內容。使用指針上的特殊宏指令是很必要的,詳見avr-libc/user-manual

這就是說,看到它應該對於更大規模的的calling the data from the 2D array

的例子沿着我在storing the 2D array程序空間例如二維矩陣的例子。

你最後在哪裏偷偷提出第二個問題,關於布爾值。注意,布爾值爲0或1時,會佔用全部字節。

您可能需要考慮#include和使用vector< bool >類型,因爲這將僅消耗每單元一位。由於每個元素佔用一個位。

+0

謝謝,我讀錯了數據,我試圖訪問陣列[我] [j]數組的元素。 – Geosearchef