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 ...