Nachtrag: und manchmal will man ja auch wissen was denn nun im RAM steht. Das mache ich so:
void hex_dump_n(void* pointer, int n) {
if ((int) pointer < 0x10) { Serial.print("0"); }
if ((int) pointer < 0x100) { Serial.print("0"); }
Serial.print((int) pointer, HEX);
Serial.print(": ");
for (int i = 0; i< n; i++) {
Serial.print((*(((uint8_t *) pointer)+i) >> 4) & 0xF, HEX);
Serial.print(*(((uint8_t *) pointer)+i) & 0xf, HEX);
Serial.print(' ');
}
for (int i = 0; i< n; i++) {
if ((*((uint8_t *) pointer+i) >= 0x20) && (*((uint8_t *) pointer+i) <= 0x7F)) {
Serial.print(*((char *) pointer+i));
}
else {
Serial.print('.');
}
}
Serial.println(' ');
}
void hex_dump(void* pointer) {
hex_dump_n(pointer, 24);
}
void hex_dump_all() {
for (int chunk = 0; chunk < 72; ++chunk) {
hex_dump_n((uint8_t *)NULL+(32*chunk), 32);
}
Serial.println("");
}
Auch nicht super gut aber viel besser als nichts