drivepro82
01.09.2008, 12:01
Hallo
Habe ein Testprogramm, in dem ein Timer jede Sekunde einen Befehl ausführt. Leider verstehe ich nicht, wie sich die Zeit dieser Sekunde berechnet. Der Prescale-Befehl teil soweit ich das verstanden habe den Systemclock durch die entsprechende Zahl, hier 256. Der Systemclock ist denke ich die Quarzfrequenz, also 16MHz. 16Mhz/256= 62500.
Wie komme ich mit der timervorgabe von 3036 auf die eine Sekunde, bis zum erreichen des Timers?? Kann mir jemand die berechnung erklären?
So sehen Teile des Programms aus:
Config Timer1 = Timer , Prescale = 256
Const Timervorgabe = 3036
Der Timer wird dann folgendermaßen aufgerufen:
On Timer1 Timer_irq
Enable Timer1
.
.
.
Timer_irq:
Timer1 = Timervorgabe
Impulseprosekunde = Zaehlerirq0
Zaehlerirq0 = 0
Return
Danke für die Hilfe!
Habe ein Testprogramm, in dem ein Timer jede Sekunde einen Befehl ausführt. Leider verstehe ich nicht, wie sich die Zeit dieser Sekunde berechnet. Der Prescale-Befehl teil soweit ich das verstanden habe den Systemclock durch die entsprechende Zahl, hier 256. Der Systemclock ist denke ich die Quarzfrequenz, also 16MHz. 16Mhz/256= 62500.
Wie komme ich mit der timervorgabe von 3036 auf die eine Sekunde, bis zum erreichen des Timers?? Kann mir jemand die berechnung erklären?
So sehen Teile des Programms aus:
Config Timer1 = Timer , Prescale = 256
Const Timervorgabe = 3036
Der Timer wird dann folgendermaßen aufgerufen:
On Timer1 Timer_irq
Enable Timer1
.
.
.
Timer_irq:
Timer1 = Timervorgabe
Impulseprosekunde = Zaehlerirq0
Zaehlerirq0 = 0
Return
Danke für die Hilfe!