aber ganz bestimmt ändert der Formatter mit STRG-T etwas:
/*
Programm Einfache Timerklasse
Name Jörg ter Veen
Kontakt joerg.ter.veen@icloud.com
Datum 13.03.2024
Version 1.1.0.4
Danke an das Arduino-Forum mit unterstützung von:
- noiasca
- Kai-R
- MicroBahner
- combie
*/
class TTimer {
private:
unsigned long period;
unsigned long startTime;
bool activ = false;
using action = void (*)();
action func{nullptr};
public:
void start() { // Timer starten
activ = true;
startTime = millis();
}
void stop() { // Timer Stoppen
activ = false;
}
void setTOcallback(action val) { // Funktion übergeben die aufgerufen werden soll
func = val;
}
void setInterval(unsigned long val) { // Intervall der Timer
period = val;
}
void update() {
if ((activ) && (func)) { // Nur nach kompletter integration
if (millis() - startTime >= period) {
startTime = millis();
func(); // hier Function aufrufen
}
}
}
};
bool toggle;
TTimer myTimer;
const byte ledPin = 7;
void setup() {
pinMode(ledPin, OUTPUT);
myTimer.setInterval(1000);
myTimer.setTOcallback(blinken);
myTimer.start();
}
void loop() {
myTimer.update();
}
void blinken() {
toggle = !toggle;
digitalWrite(ledPin, toggle);
}
oberste Klammerebene ist jetzt auf 0.
blanks vor {
...
und weil ich es gerade sehe:
warum hast du activ und func in Klammern gesetzt?