我正在寫一個arduino IDE上的程序,我想交換一些變量。如果你不瞭解arduino,它本質上是用C++編寫的。溫度變量沒有從數組中分配正確的值
的背景信息的比特:
- 件是一個二維數組
- 件將返回 「N」, 「1」, 「2」,..., 「5」 的字符串,或 「6」
- Serial.println(MSG)僅僅是一個打印功能
這裏是代碼:
String temp = Pieces[piece][0];
Serial.println(temp);
Serial.println(Pieces[piece][0]);
代碼應返回相同的值2,但它實際上返回的是:
""
"n"
第一個值應該是n爲好,但它僅僅是空白。下面是件是如何初始化:
String Pieces[27][6] =
{
{"n", "n", "n", "n", "n", "n"},
{"n", "n", "n", "n", "n", "n"},
{"n", "n", "n", "n", "n", "n"},
{"n", "n", "n", "n", "n", "n"},
{"n", "n", "n", "n", "n", "n"},
{"n", "n", "n", "n", "n", "n"},
{"n", "n", "n", "n", "n", "n"},
{"n", "n", "n", "n", "n", "n"},
{"n", "n", "n", "n", "n", "n"},
{"n", "n", "n", "n", "n", "n"},
{"n", "n", "n", "n", "n", "n"},
{"n", "n", "n", "n", "n", "n"},
{"n", "n", "n", "n", "n", "n"},
{"n", "n", "n", "n", "n", "n"},
{"n", "n", "n", "n", "n", "n"},
{"n", "n", "n", "n", "n", "n"},
{"n", "n", "n", "n", "n", "n"},
{"n", "n", "n", "n", "n", "n"},
{"n", "n", "n", "n", "n", "n"},
{"n", "n", "n", "n", "n", "n"},
{"n", "n", "n", "n", "n", "n"},
{"n", "n", "n", "n", "n", "n"},
{"n", "n", "n", "n", "n", "n"},
{"n", "n", "n", "n", "n", "n"},
{"n", "n", "n", "n", "n", "n"},
{"n", "n", "n", "n", "n", "n"},
{"t", "t", "t", "t", "t", "t"}
};
的問題是,數組是太大,所以我試圖將其更改爲字符,而不是字符串,但它不工作。
繼承人是什麼樣子現在:
char Pieces[27][6] =
{
{"n", "n", "n", "n", "n", "n"},
{"n", "n", "n", "n", "n", "n"},
...
{"t", "t", "t", "t", "t", "t"}
};
而且其繼承人給我的錯誤:
error: too many initializers for 'char [6]'
有人能幫助我正確初始化呢?
'piece'是如何設置的以及'Pieces'數組維度的邊界是什麼? – twain249
我編輯了這個問題,它顯示了件件的樣子,我希望有足夠的信息讓你知道我從哪裏來 – Scurb
代碼似乎很好。您是否排除了其他因素,如內存不足問題或串行接口問題?你嘗試過更小的陣列嗎?你嘗試過一維數組嗎? –