Почему
Потому что
Serial.println
печатает то, что ты передаёшь ей на вход, а ты передаёшь ей на вход
values[0][0]
-- это один символ, '8'.
как это решить?
Понять, что ты хочешь напечатать и организовать данные для печати правильным образом. Сейчас определение массива values говорит о полном непонимании того, что происходит. Если ты хотел инициализировать массив кодами символов, то не нужно было брать коды в одиночные кавычки, это превратило их в символьные литералы. Значения типа char не могут вместить больше чем 8 битов, а
0xe918
-- 16-битное число. Если это симовл unicode в кодировке utf-8, то его байты должны идти как отдельные символы. Если ты собираешься печатать отдельные байты закодированных utf-8 символов, то не нужно делать этого функцией
println
, потому что она вставит символ конца строки после печати каждого символа.
Если ты хотел напечатать шестнадцатеричные значения, ты мог сделать это так:
unsigned int values[][6] = {
{0xE918, 0x14, 0xE918, 0x49, 0xE918, 0x48}
};
…
Serial.println(values[0][0], HEX);
Короче, начни с того чтобы понять, что ты хочешь напечатать.