const byte dataLen = 4;
const byte weightsLen = dataLen * 2;
uint16_t weight;
char weights[weightsLen];
byte idx;
//ab cd ef ...
uint16_t arr[6] = {0x6162, 0x6364, 0x6566, 0x6768, 0x6970, 0x7172};
void setup() {
Serial.begin(115200);
delay(500);
Serial.println();
for (uint16_t j = 0; j < dataLen; j++) {
weight = arr[random (6)]; // 0x6364;
uint16_t k=j*2;
weights[k] =highByte(weight);
weights[k+1]=lowByte(weight);
Serial.print(weight);
Serial.print(",");
Serial.print(weights[k]);
Serial.print(weights[k+1]);
Serial.print("\t");
}
Serial.println();
Serial.println(weights);
Serial.println(String("Size: ") + sizeof(weights));
for (uint16_t j = 0; j < dataLen; j++) {
uint16_t k=j*2;
Serial.print((weights[k]<<8)|weights[k+1]);
//(byte2<<16) | (byte1<<8) | (byte0) - это если 3 байта
Serial.print(",");
Serial.print(weights[k]);
Serial.print(weights[k+1]);
Serial.print("\t");
}
Serial.println();
}
void loop() {
delay(10); // this speeds up the simulation
}