8bit:
Dass mein Code in dieser Form nicht unterbrechbar ist, ist mir bewusst, ich verstehe allerdings leider nicht warum die vorher genannten Beispiele unterbrechbar sind. Eine kleine Hilfe (gerne Stichpunktartig) wäre großartig, damit ich da programmiertechnisch dazulerne. Ich arbeite mich gerade etwas in die MsTimer2 Libraray ein, mit der ja, wenn ich das richtig verstehe, parallele Prozesse möglich sind ... Beste Grüße!
Definiere mal unterbrechbar.
Man muss dabei immer bedenken, auch welcher Zielplattform wir uns hier bewegen: Microcontroller. Echtes Multitasking ist da (noch) nicht.
Aus meiner Sicht wird Dein Code aus loop() immer unterbrochen, wenn eine Interruptroutine aufgrund eine ausgelösten Interrupts gerufen wird. Dabei ist es auch egal, ob der Code in eine Function ausgelagert wurde oder nicht.
Was Deine parallelen Prozesse angeht: Ich kenne die MsTimer2-Lib nicht, vermute aber mal, das das nur quasiparallel ist. Bestimmte Funktionen werden an einen Timer gebunden, der dann zur Auslösung den Code aus loop() unterbricht.