Wahrscheinlich ist dir irgendwie nicht klar wie lange es dauert ein
einziges Byte zu übertragen im Verhältnis dazu, einen Befehl
auszuführen.
Das nächste Problem wird sein, dass gets1USART eine "blocking funktion"
ist. Das heißt, sie blockiert dein Programm so lange, bis der
angeforderte String empfangen wurde. Wenn kein Sensor antwortet, dann
ist dein Programm im Ar...
Du könntest solange warten, wie es maximal dauert, bis ein Sensor
antwortet. ( Das erste Byte ) Ist dann nichts da, ist auch kein Sensor
mit dieser Adresse dann...
Grundsätzlich wäre eine Statemachine mit Timeout wohl das Beste. Das
wurde bedeuten, einen Sensor abzufragen und nicht direkt auf die Antwort
zu warten. Wenn allerdings nicht innerhalb einer vorgegebenen Zeit eine
Antwort kommt, dann ...