Hallo
ich habe ein kleines Verständnisproblem, wobei mir Mr Google und Tante SuFu auch nicht helfen konnten.

Es geht um die Reihenfolge in der das Main und die Sub ablaufen.

Folgende Konstellation:
Über die UART kommen Nachrichten rein die mit CR enden. In der Main loop wird das erste Zeichen der Nachricht per if-Schleife ausgewertet und danach in die jeweiligen Sub gesprungen.

Frage 1.
Wenn ich das bisher richtig verstanden habe wird die Main-Loop immer wieder ausgeführt , sie macht also so lange keine neues Telgramm kommt immer wider die Verarbeitung der alten Nachricht.
Sinnvoll ist das bestimmt nicht, wäre es denn schädlich ?
Kann man das sinnvoll verhindern

Frage 2
Wie und in welcher zeitlichen Reihefolge werden die Subs bearbeitet und wie wirkt sich das aus:
Folgendes Beispiel:
Es kommen 2 Nachrichten direkt hintereinander rein, die den gleichen Nachrichtenkenner haben also in die gleiche subroutine laufen

Beispiel
Nachricht 1 kommt herein. durch das CR wird die Sub für die UART angsprochen. die ändert den Inhalt der Variabelen für den nachrichten inhalt, die Mainloop verzweigt in die subroutine mit byval wird das telegramm für die Routine für das sub mit übergeben. Die Subroutine fängt an zu arbeiten.
Während die subroutine noch arbeitet wird die direkt folgende nachricht mit cr abgeschlossen.
Sie ändert damit die variabele für die nachricht

Code:
Sub Serial0charmatch()
Input Telegramm Noecho
End Sub Serial0charmatch()
und dann ?????

A: Geht es dann in der unterbrochenen Subroutine weiter, bis diese abgearbeitet ist und springt dann in die Main-Loop zurück und stößt das gleiche Sub mit der neuen Variabelen an

oder

B: springt das Sub(mit dem input) in die Mainloop und würde dann damit eine nur halb verarbeitete 1. Nachricht hinterlassen.

Wenn normalerweise Fall B eintritt, gibt es eine Möglichkeit es so zu machen, das es doch zu Fall a wird ?

Das Thema ist bei mir halt besonders wichtig, da nicht nur alle Sekunde eine Nachricht kommt, sondern auch dazwischen und oft auch 2 Nachrichten direkt in Folge.
(Ein bestimmter Event beim Sender führt zu 2 unterschiedlichen Nachrichten des gleichen Typs)

Danke im voraus