Code:
void setup()
{
Serial.begin(115200);
const uint8_t src[39] ={0xf0, 0x42, 0x30, 0x19, 0x4d, 0x00, 0x00, 0x4d, 0x69, 0x73,
0x78, 0x45, 0x65, 0x70, 0x72, 0x00, 0x6d, 0x69, 0x17, 0x01,
0x32, 0x09, 0x32, 0x00, 0x2e, 0x2e, 0x00, 0x00, 0x63, 0x1f,
0x43, 0x01, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0a, 0x74};
uint16_t arrayLength = sizeof(src)/sizeof(src[0]);
uint8_t dest[10]={0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,};
uint8_t bufferLength = sizeof(dest)/sizeof(dest[0]);
uint16_t src_offset=0;
while ( src_offset < arrayLength)
{
memcpy(dest, src + src_offset, arrayLength);
src_offset = src_offset + bufferLength;
delay(1000);
// Serial.print("After memcpy dest = ");
for (int element : dest)
{
Serial.print(element < 16 ? "0" : "");
Serial.print(element, HEX);
Serial.print(" ");
Serial.print("");
}
Serial.println("");
delay(100);
}
}
void loop()
{
}
it also works when the right buffersize is used: