Roberto
30.12.2005, 11:43
Hallo Leute (Schon wieder ein Frage ;-) )
Ich probiere gerade mit Timer1 herum und möchte gerne einen 1Sekunden Takt zusammenbekommen, damit eine Variable, alle sekunden hochgezählt wird.
Das Grundgerüst schaut im Prinzip so aus:
Config Timer1 = Timer , Prescale = 256
On Timer1 Zeit
Enable Timer1
Enable Interrupts
do
Lcd B
Print x
loop
end
Zeit:
Load Timer1 , 31250
Incr B
Return
Aber die Sekunden sind leider nicht genau :-(
Nach ca. 3 Minuten, geht mir der Zähler schon ca. 1 sekunde hinten !
Was habe ich falsch gemacht ?
Habe einen 8Mhz Quarz
8000000/256(Prescaler) = 31250
Habe izwischendrinn noch eine Serielle Ausgabe .
Kann das den Timer1 beeinflussen?
Wird für die Serielle Ausgabe eigentlich ein Timer verwendet ?
(der vielleicht stört ?)
Das setzen von Timer1 auf " Load Timer1,31250" oder Timer1= 34286
(ist doch das gleiche ?),
wo muss ich das machen ?
Sehe das meist in der ISR....
Müsste man das nicht auch schon nach aktivieren von Timer1 machen ?
l.G. Roberto
Ich probiere gerade mit Timer1 herum und möchte gerne einen 1Sekunden Takt zusammenbekommen, damit eine Variable, alle sekunden hochgezählt wird.
Das Grundgerüst schaut im Prinzip so aus:
Config Timer1 = Timer , Prescale = 256
On Timer1 Zeit
Enable Timer1
Enable Interrupts
do
Lcd B
Print x
loop
end
Zeit:
Load Timer1 , 31250
Incr B
Return
Aber die Sekunden sind leider nicht genau :-(
Nach ca. 3 Minuten, geht mir der Zähler schon ca. 1 sekunde hinten !
Was habe ich falsch gemacht ?
Habe einen 8Mhz Quarz
8000000/256(Prescaler) = 31250
Habe izwischendrinn noch eine Serielle Ausgabe .
Kann das den Timer1 beeinflussen?
Wird für die Serielle Ausgabe eigentlich ein Timer verwendet ?
(der vielleicht stört ?)
Das setzen von Timer1 auf " Load Timer1,31250" oder Timer1= 34286
(ist doch das gleiche ?),
wo muss ich das machen ?
Sehe das meist in der ISR....
Müsste man das nicht auch schon nach aktivieren von Timer1 machen ?
l.G. Roberto