Das Problem hat sich inzwischen als noch verzwickter herausgestellt, da es nicht mal mehr reproduzierbar ist.
Der µC hat ja 2 direkt parallel geschaltete I2C Ausgänge. An dem einen hängt das Display, an dem anderen 4 US-Sensoren (SRF02) und ein Kompass (CMPS03).

Zum Testen führe ich nun folgende Befehle aus:
Code:
mot_a_links(MAX_SPEED);
display_print_char('a');
display_print_char('b');
mot_b_rechts(MAX_SPEED);
Die Motorfunktionen dienen nur der optischen Kontrolle.

Was beim Starten (Strom an) passiert scheint nun vom Zufall abzuhängen:
Manchmal bleibt der LCD beim Robotikhardware-Startbildschirm hängen, manchmal wird 'a' angezeigt. Motor A dreht sich immer. Eine weitere Zufallskomponente kommt dazu, wenn ich die Strippe mit den Sensoren wiederholz aus- und einstecke. Manchmal passiert dadurch gar nichts, manchmal wird die Anzeige gelöscht, manchmal erscheint dann statt dem Startbildschirm das 'a', manchmal kommt das 'b' hinzu und Motor B geht noch an, manchmal kommen gleich beide Buchstaben und beide Motoren springen an. Was ich noch festgestellt habe, ist dass wenn die Sensoren von Anfang an drangesteckt sind immer nur der Startbildschirm erscheint und kein 'a'.
Anscheinend hängt es davon ab, wie ich das Kabel der Sensoren ziehe.

Ich bin hier echt fast am Verzweifeln, weil ich seit Stunden nicht weiterkomme. Und ich hasse den Zufall bei der Programmierung...

Hat vllt jetzt einer eine Idee?

Danke