Den selben Takt halte ich für die LEDs für überflüssig:
Nehmen wir an, man kann einen Unterschied von 1/24 sec (ca. 40 ms)
erkennen, und ein Takt dauert 1/1MHz (0,001ms), dann können die
Controller einige Takte aus einander laufen, bis sie einen merkbaren
Unterschied liefern.
Würden die Prozessoren gleich schnell auf die Taste reagieren, wäre es
also völlig egal, ob die Takte einige % abweichen.
Wichtiger ist: Sie müssen zur selben Zeit einen Anlass zum reagieren
erkennen. Z.B. über die Taste. hier ist die Frage: kann einer der
Controller in einem Programmteil stecken, der das Erkennen des
Tastendrucks verzögert?
Wenn beide Controller nur ständig die Taste abfragen, oder die Taste per
Interrupt erkannt wird, sehe ich keine Gefahr, dass du einen Unterschied
merkst. Dann ist das Signal von der Taste die Synchronisation, die du
suchst.
Ansonsten eine andere Idee zur Synchronisierung: Ein Controller fragt
die Taste ab und gibt dem anderen dann Bescheid. Z.B. über einen ext.
Interrupt,
Unterschiede in der Reaktion kommen von der Leitungsverzögerung
(vernachlässigbar für das menschliche Auge, außer der Signalweg ist
etliche Meter lang), durch etwaiges entprellen (vernachlässigbar für das
menschliche Auge), ... oder aber dadurch, dass der Controller mit etwas
anderem beschäftigt ist.
Der Takt zu synchronisieren ist dann sinnvoll, wenn die Controller über
längere Zeit das selbe machen sollen, ohne dabei auf Signale von außen
zu reagieren. Und dann ist das Problem eher: Hat ein Prozessor einen
Reset (z.B. Brownout) und der andere nicht? Werden sie gleichzeitig
gestartet? Bzw. werden sich auch bei gleichzeitigem Starten einige Takte
aus einander liegen. Ist das für deine Anwendung wirklich wichtig?
Das aus einander Laufen der Takte liegt am Ende einer langen Liste von
Problemen, die du GAR NICHT HAST.
Der einzige Fall, den ich kenne, und wo synchrone Takte einen Sinn
machen, ist die synchrone Kommunikation, wenn anhand der Takte die
einzelnen Bits aus einander gehalten werden. Und je nach
Übertragungsgeschwindigkeit im Vergleich zum Controllertakt ist auch
hier evtl. ein zyklisches Synchronisierungssignal ausreichend und der
tatsächlich selbe Takt nicht notwendig.