Das Multitasking geht? Das sieht erstmal ziemlich kompliziert aus, wie verhält sich das in der Praxis?
Die Unterstützung von Multitasking ist sicherlich gegeben. Prinzipiell wird so etwas ja durch das Betriebssystem zur Verfügung gestellt. Und so etwas hat der Arduino ja nicht.
Wenn man die Multitasking-Fähigkeiten benötigt, muss man entweder die von MaFu angesprochenen Bibilotheken verwenden oder etwas selbst programmieren. Was aber je nach Aufgabestellung durchaus möglich ist. Z.B. kann man mit Interrupts arbeiten, und dadurch eine Art Multitasking nachbilden:
Man kann durch bestimmte Ereignisse (Änderung von Eingangssignalen, Eintreffen von Zeichen über die serielle Schnittstelle, Erreichen von Zählerständen im Controller, Ablauf von Zeitgebern, usw.) den normalen Ablauf des Programms in der Endlostschleife in der Funktion loop() unterbrechen und den zum Ereignis passenden Programmcode ausführen (quasi anderer Task). Stichwort: ISR/Interrupt Service Routine. Wenn der Code dann abgeabeitet ist, wird wieder in loop() zurückgesprungen und dort weiter gemacht. Wobei natürlich gewisse Randbedingungen zu berücksichtigen sind.
Um das Ganze zu verstehen, sollte/muss man allerdings ein wenig suchen und lesen. Aber da hilft Tante Google sicherlich, etwas zu finden (Stichwort: AVR, ISR, interrupt, programming): hat gerade versuchsweise 67500 Ergebnisse geliefert. Aber auch bei Linux oder Windows muss man sich ja erst einmal schlau machen, wenn man Multitasking verstehen will.
Aber das muss man sich ja nicht von heute auf morgen aneignen. Macht auf jeden Fall Spaß, sich damit zu befassen. Finde ich.
Gruß
Wolfgang