Nicht blockierend programmieren:
keine Schleifen (zumindest keine langen), sonder alles in der loop() abarbeiten.
Struktur:
loop(){
funktion1();
funktion2();
funktion3();
...
}
die gesamte loop sollte innerhalb der gewünschten Reaktionszeit abgearbeitet werden, wenn also innerhalb von 100ms auf Tastendruck reagiert werden soll: wiederholzeit <100ms.
dazu muß man z.b. Schleifen auslagern.
z.B. statt:
funktion1(){
for (byte i=0; i<100;i++){
tue was kompliziertes;
}
}
besser
funktion1(){
static byte i;
if (i++ < 100){
tue was kompliziertes;
}
}
Gunther