Kochrezept „Timer Reload-Wert Berechung“ t Reload _ Value = 2 n − Soll t TimerStep n: tSoll: tTimerStep: Reload_Value: Anzahl Bits des Reload-Werts Überlaufzeit des Timers Zeitintervall pro Timer-Schritt Timer Reload-Wert Beispiel 1: n=8 t Soll = 108µs tTimerStep = 0,6 µs Lässt sich tSoll ohne Prescaler realisieren? t Soll < 2 n * tTimerStep 108µs < 153,6µs → OK ! Berechung Reload-Wert: 108 * 10 −6 s Reload _ Value = 256 − −6 0,6 * 10 s Reload _ Value = 76 Reload _ ValueHex = 0x4C Beispiel 2: n = 16 t Soll = 50ms tTimerStep = 1,2 µs Lässt sich tSoll ohne Prescaler realisieren? t Soll < 2 n * tTimerStep 50ms < 78,6432ms → OK ! Berechung Reload-Wert: 50 * 10 −3 s Reload _ Value = 65536 − −6 1,2 * 10 s Reload _ Value = 23869 Reload _ ValueHex = 0x5D3D Beispiel 3: n = 16 t Soll = 1s tTimerStep = 1,2 µs Lässt sich tSoll ohne Prescaler realisieren? t Soll < 2 n * tTimerStep 1s < 78,6432ms → NICHT OK ! Wir legen Timer-Überlaufzeit auf 50ms fest. Berechung des Prescalers: t Soll = Prescaler * 50ms 1s = Prescaler * 50ms Prescaler = 20 Berechung Reload-Wert siehe Beispiel 2.
© Copyright 2024 ExpyDoc