2014-02-21 66 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