Gast
#2530827
Hallo, kurze Erklärung: Ich nutze einen Atmega32 mit externen 32,768kHz Uhrenquarz. Zum Programmieren nutze ich Bascom. Ich verwende in meinem Programm eine Uhrzeit. "Config Clock = Soft , Gosub = Sectic" habe ich integriert, um jede Sekunde in "Sectic" zu springen. Bis dahin funktioniert alles wunderbar. Nun möchte ich aber, dass zwei Mikrocontroller auf unterschiedlichen Leiterplatten synchron laufen. Über die serielle Schnittstelle übermittle ich via PC die aktuelle Uhrzeit für "time$". Dies geschieht genau in dem Moment, in dem die Sekunde (am PC) "umspringt". Das Problem liegt nun darin, dass "Sectic" bei beiden Platinen zu unterschiedlichen Zeiten angesprungen wird, wenn ich bei beiden nicht genau zur gleichen zeit die Spannungsversorgung herstelle. (Zeitdifferenz zwischen den beiden Platinen) Kurz: Mein Problem ist: Wie setze ich (wenn ich die Uhrzeit für "time$" übermittle) auch gleich den Timer zurück, den die Clock nutzt, damit zwischen den beiden Mikrcontrollern keine Differenz mehr vorhanden ist. Sprich: Da ich "zu Beginn einer Sekunde (am PC)" synchronisiere, müsste hier der Timer zurückgesetzt werden, damit von diesem Zeitpunkt an genau nach einer Sekunde Sectic erneut angesprungen wird. Diese Rücksetzung erfolgt nicht, wenn ich nur synchronisiere. Und daher haben beide Platinen eine Differenz (es sei denn ich stelle zur gleichen Zeit die Spannungsversorgung her, aber das ist nicht praktikabel) Ich hoffe das war einigermaßen verständlich. ;-) Danke!