void myFunc(unsigned int i = 0) { Serial.println(i); }
void test(int del = 1000) {
for (byte x=0; x<2; x++)
digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN)),
delay(del);
}
void callFn(void(*f)()){ (*f)(); }
void callFn_args(void(*fn)(void *), void *p){ fn(p); }
void printMe(char txt[]) {
Serial.println(txt);
}
void lambda() {
byte num = 666;
callFn([]() -> void { myFunc(); });
}
void setup() {
Serial.begin(115200);
pinMode(LED_BUILTIN, OUTPUT);
digitalWrite(LED_BUILTIN, LOW);
const char* msg = "OK";
callFn([]() -> void { myFunc(66); });
callFn_args(myFunc, 99);
callFn_args(printMe, "hello");
callFn_args(printMe, msg);
}
void loop() { }