У меня проблемы с использованием многомерных массивов в моем проекте.Я буду получать данные через последовательную связь, которая сохраняется в буфере байтового массива.Этот байтовый массив данных я хочу сохранить в другом массиве.Поэтому я хочу, чтобы массив содержал от 50 до 150 таких байтовых массивов, и они иногда будут иметь разную длину.
После того как я их сохраню, я хочу извлечь их и отправить на другой последовательный порт.Моя проблема в том, что я не знаю, как рассчитать длину различных байтовых массивов, сохраненных в «основном» массиве.
#define buffLength 260
#define arrayLength 4
byte buff[buffLength] = {0xAA, 0x40, 0x00, 0x20, 0x22};
byte buff2[buffLength] = {0xAA, 0x43, 0x02, 0x00, 0x42, 0x25, 0x48};
byte arrayOfBuff[arrayLength][buffLength] = {{0},{0}};
byte savedArrays = 2;
byte buffLen = 5;
bool hasPrinted = false;
void setup() {
Serial.begin(115200);
while(!Serial){};
Serial.println("Writing buffer to array... ");
for(int i = 0; i < savedArrays; i++){ // saves the byte arrays
for(int j = 0; j < buffLen; j++){
arrayOfBuff[0][i] = buff[i];
}
buffLen = 7; // simulate bufflength, this will be known in finished code
}
Serial.println("done writing.");
Serial.print("The saved array is: ");
for (int i = 0; i < savedArrays; i++){ // try to write them
for(int j = 0; j < sizeof(arrayOfBuff[i]); j++){
Serial.print(arrayOfBuff[i][j], HEX);
}
}
}
void loop() {}
Некоторые моменты относительно кода
- Я "имитирую", что я получаю данные buffer и buffer2 в моем коде
- Я также "симулирую""номер сохраненного массива, который будет в готовом коде
- То же самое с buffLen
Как я могу получить доступ к arrayOfBuff index" x "и рассчитать длину, равную 5?