In der GPT1 Einheit sind die Timer 4 und 3 zu einem 32 Bit Timer zu kaskadieren. T3 soll die Zählfrequenz 625 Khz haben. Beide Timer sollen abwärts zählen, wobei bei jedem Unterlauf des Timers 3 der Timer 4 um "1" dekrementiert wird. Nach 2^32 Zählschritten von Timer 3 soll Timer 4 Unterlaufen. Jetzt ist die Frage: Bei jedem Unterlauf setzen sie per ISR T4 und T3 so vor, dass der nächste Unterlauf exakt nach einer Minute erfolgt. Mit welchen Werten ist T4 und T3 zu beschreiben. Kann mir einer Bitte sagen wie ich dies berechne? Ich bitte um Lösungweg da ich das Endergebnis habe aber keinen Lösungsweg. Gruß Peter
Das bischen Mathematik macht Dir ja schon ein 4-Klässler: 625kHz * 60s = 37500 = 0x927C - 1 da Unterlaufinterrupt bei 0xFFFF T3 = 0x7B T4 = 0x92 Peter
Ich würde einfach mal den globalen Ansatz wählen: in einer Minute vergehen 60s * 625 000 Takte/sec = 37 500 000 Takte. Und diese Zahl muß jetzt in die Register T3 und T4 geladen werden. Das sind jeweils 16Bit, dann gehört also in den T4 = int(37500000/65536) = 572 und in den Timer T3 = 37500000-65536*572 = 13408 Peter schrieb: > Ich bitte um Lösungweg da ich das Endergebnis habe Dadurch hast du uns gegenüber einen Vorteil... :-/
Och, da hab ich die Kilo vergessen einzutippen. Also dann eben 0x023C3460 Peter
Peter Dannegger schrieb: > Also dann eben 0x023C3460 Du darfst da noch was abziehen, wegen des Unterlaufs, der erst bei 0 -> 0xffff erfolgt... Also T4=0x023C und T3=0x345F
Super danke Lothar! Ja aber was bringte eine Lösung wenn man nicht weis wie es funktionert :D gruß
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.