#define DECIMALS_MAX_BCD 3
#define UNITS_MAX_BCD 2
//void (*letters[DECIMALS_MAX_BCD+1][UNITS_MAX_BCD+1])() = {
void (*letters[][UNITS_MAX_BCD+1])() = {
{ []()->void { Serial.println("[0][0]");},
[]()->void { Serial.println("[0][1]");} },
{ []()->void { Serial.println("[1][0]");},
/*[]()->void { Serial.println("[1][1]");}*/ },
{ []()->void { Serial.println("[2][0]");},
[]()->void { Serial.println("[2][1]");} },
{ []()->void { Serial.println("[3][0]");},
[]()->void { Serial.println("[3][1]");} }
};
void setup() {
Serial.begin(115200);
Serial.println("Hello, STM32!");
}
void loop() {
if (Serial.available()) {
int vch = Serial.parseInt();
int decs = vch/10;
int units = vch%10;
if (((decs <= DECIMALS_MAX_BCD) && ( units <= UNITS_MAX_BCD)) && (letters[decs][units]))
{
letters[decs][units]();
}
Serial.flush();
}
delay(10);
}