Interrupts kann ich leider nicht verwenden, ich verwende digitalRead für beliebig viele Buttons in Instanzen eines Button-Objekts:
https://github.com/dsyleixa/Arduino/...er/ButtonClass
Abgefragt werden alle Button-Zustände mindestens 1x pro loop(), und wie lange eine Loop dauert, lässt sich nicht allgemein vorhersagen (u.U. nur 1ms oder sogar weniger, evtl aber auch länger).
In der Button Class sind derzeit auch noch delay(1) drin, aber auch die sollen noch raus.
10 oder 20ms warten bis entprellt ist, ist absolut nicht möglich.
Leider gibt es auch kein preemptives Multithreading für die ARMs (POSIX pthread oder std::thread), sonst könnte ich das in einen eigenen langsameren Thread "outsourcen".
Daher suchte ich eine simple Entprellung per Kondensator.
Lesezeichen