// Structure to hold variable with its name
struct VarInfo {
const char* name;
char value;
};
// Macro to print any variable with its name
#define PRINT_NAMED_VAR(name, value) do { \
Serial.print(name);\
Serial.print(": DECIMAL: "); \
Serial.print(value, DEC); \
Serial.print(" HEX: "); \
Serial.print(value, HEX); \
Serial.print(" BINARY: "); \
Serial.print(value, BIN); \
Serial.print(" OCTAL: "); \
Serial.print(value, OCT); \
Serial.print(" CHARACTER: "); \
Serial.println(value); \
Serial.println(); \
} while(0)
// Array of variables with their names
VarInfo allVars[] = {
// Usage
{"var1", 35},
{"var2", 0x35},
{"var2", 0b10101},
{"var2", 072},
{"var2", '7'}
// etc...
};
void setup()
{
Serial.begin(9600);
for(int i = 0; i < 5; i++)
{
PRINT_NAMED_VAR(allVars[i].name, allVars[i].value);
}
}
void loop()
{
}