Arduino mit 2 Hauptschleifen und 2 Setups

Im Loop zu trennen ist die bessere Idee weil dadurch auch der "unsichtbare" Teil außerhalb des Loops noch korrekt prozessiert wird. Wer will kann auch noch das dauernde Prozessieren des IF Statements wegoptimieren. (Was auch sinnvoll wäre weil ja sonst setup und loop nicht zusammenpassen falls die Brücke nach dem Init gezogen wird.

boolean is_sender() {
    static initial_state = digitalRead(RXTX) == HIGH;

    return initial_state;
}

void setup_sender() {}

void loop_sender() {}

void loop_receiver() {}

void setup_receiver() {}

void setup() {
    if (is_sender) {
        setup_sender();
    } else {
        setup_receiver();
    }
}

void loop () {
    static void (*the_loop)(void) = is_sender()? loop_sender: loop_receiver;
    
    the_loop();  
}

Und wer keine Funktionspointer mag programmiert in loop() genauso wie in setup :wink: