Hallo Zusammen, ich konnte (trotz zahlreicher Beiträge) kein Thema finden das mir bei meinem Problem helfen würde - deshalb mach ich ein neues auf. Es geht darum das ich einen 32Bit Timer habe. Diesen muss ich mit einem Prescale und einem LoadValue laden. Es geht drum das mir der Timer dann praktisch kontinuierliche Interrupts erzeugt, wenn er abläuft. (SysTick) Mein Problem liegt jetzt in der Berechnung des Prescale und des LoadValue. Ich habe mal meine alten Unterlagen durchgesehen - aber dort haben wir das nur mit 8 oder 16 Bit Timern die bei max. 3 MHZ laufen behandelt. Demnach müsste das hier stimmen. --- Takt = 60 MHZ = 60000000 Hz Maxcount = 4.294.967.295 (2^32) DesiredTimerOverflow = 1 sec (Verfügbare Prescale 2~1024) prescale = Takt / (DesiredTimerOverflow * MaxCountOfTimer) prescale = 60000000 / (1 sec * 2^32) prescale = 60000000 / 4294967295 prescale = ~ 0,01 prescale = 2 Toverflow = (Takt / prescale) / MaxCountOfTimer Toverflow = ( 60000000 / 2 ) / 2^32 Toverflow = 30000000 / 4294967295 Toverflow = 0,006985 Toverflow = 0,007 Time = 1 / frequency (Toverflow) Time = 1 / 0,007 Time = 142,86 Resolution = Time / MaxCountOfTimer Resolution = 142,86 / 4294967295 Resolution = 0.00000003326... Preload = MaxCount - (DesiredTimerOverflow / Resolution) Prelaod = 4294967295 - ~30066145 Preload = 4.264.967.296 --- Kann das denn stimmen? Kommt mir irgend seltsam vor. Der Interrupts wird im Millisekundenbereich getriggert, hab leider gerade keinen Oszi da zum Messen, aber ich bin noch weit entfernt von Sekunden Interrupts.
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.