Kód
Kód: Vybrať všetko
template< typename T > void dumpHex(T &t) {
int theValue;
char textString[16];
char asciiDump[16];
const uint8_t *myAddressPointer = (uint8_t*) &t;
int mySize = sizeof(t);
int maxrow;
while (mySize > 0) {
maxrow = min(16, mySize);
sprintf(textString, "%04X - ", myAddressPointer);
Serial.print(textString);
asciiDump[0] = 0;
for (int ii = 0; ii < maxrow; ii++) {
theValue = *myAddressPointer;
sprintf(textString, "%02X ", theValue);
Serial.print(textString);
if ((theValue >= 0x20) && (theValue < 0x7f))
asciiDump[ii] = theValue;
else
asciiDump[ii] = '.';
myAddressPointer++;
}
asciiDump[maxrow] = 0;
Serial.println(asciiDump);
mySize -= maxrow;
}
}
uint8_t sensorAdress[2][8] = {{ 0x28, 0xFF, 0x4E, 0xB8, 0x92, 0x15, 0x1, 0xA4 },
{ 0x28, 0xFF, 0x42, 0xB8, 0x92, 0x15, 0x1, 0x85 },
};
int abc=123;
double xyz=1.;
long qwe=4456789L;
const char mytext[]="ja som text 01234567890123456789";
uint8_t ttt='t';
#define DUMPVAL(var) \
{ \
Serial.print("Dump: "); \
Serial.print(#var); \
Serial.print("="); \
Serial.println(var); \
dumpHex(var); \
}
#define DUMP(var) \
{ \
Serial.print("Dump: "); \
Serial.println(#var); \
dumpHex(var); \
}
void setup() {
Serial.begin(9600);
DUMPVAL(abc);
DUMPVAL(xyz);
DUMPVAL(qwe);
DUMP(sensorAdress);
DUMPVAL(mytext);
DUMPVAL(ttt);
for(int i=0;i<3;i++)
DUMPVAL(i);
}
void loop() {
}
Kód: Vybrať všetko
Dump: abc=123
0119 - 7B 00 {.
Dump: xyz=1.00
0115 - 00 00 80 3F ...?
Dump: qwe=4456789
0111 - 55 01 44 00 U.D.
Dump: sensorAdress
0101 - 28 FF 4E B8 92 15 01 A4 28 FF 42 B8 92 15 01 85 (.N.....(.B.....
Dump: mytext=ja som text 01234567890123456789
012B - 6A 61 20 73 6F 6D 20 74 65 78 74 20 30 31 32 33 ja som text 0123
013B - 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39 4567890123456789
014B - 00 .
Dump: ttt=116
0100 - 74 t
Dump: i=0
08D9 - 00 00 ..
Dump: i=1
08D9 - 01 00 ..
Dump: i=2
08D9 - 02 00 ..