Прежде чем дать конкретные рекомендации, мне нужно знать, как именно вы пытаетесь вывести значение в `Serial.println` и что именно вы подразумеваете под "неправильным значением HEX". Возможно, дело в том, как вы обращаетесь к элементам массива или есть проблема в преобразовании данных.
Возможные проблемы могут включать:
1. Неправильное использование индексации массива.
2. Некорректное форматирование при выводе в `Serial.println`.
Если у вас есть массив `char values[][6]` и вы хотите вывести строку в HEX формате, вам нужно убедиться, что данные, которые вы пытаетесь вывести, действительно представляют собой строку в HEX формате, и что массив корректно инициализирован.
Также важно знать, что элементы массива `char` в C/C++ заканчиваются нуль-терминатором `'\0'`, чтобы корректно распознаваться как строки. Если вы хотите сохранить именно шестнадцатеричные значения, каждый подмассив должен быть размером минимум на один элемент больше, чтобы вместить нуль-терминатор, если `6` - это реальное количество символов HEX, не считая нуль-терминатора.
Вот пример кода, который корректно должен выводить шестнадцатеричные значения из двумерного массива типа `char`:
```cpp
char values[][7] = {"1A2B3C", "4D5E6F"}; // Предполагая, что у вас есть массив со строками в HEX формате
void setup() {
Serial.begin(9600);
}
void loop() {
for (int i = 0; i < sizeof(values) / sizeof(values[0]); i++) { // Проходим по всем строкам массива
Serial.println(values[i]); // Выводим строку в HEX формате
delay(1000); // Чтобы данные выводились не слишком часто
}
}
```
Убедитесь, что размер подмассива на один элемент больше, чем количество символов в строке, чтобы учесть нуль-терминатор.
Если вы сталкиваетесь с другой проблемой или ваша ситуация отличается от описанной, пожалуйста, предоставьте дополнительную информацию или пример кода, чтобы мы могли более точно определить проблему и предложить решение.