-
Timer - Ich checks nicht
vielleicht kann mir jemand mal erklären, wie man timer mit einer bedingung verknüpfen kann, so dass ich des auch kapier. konkretes beispiel: der timer soll beim überlauf ein byte raufzählen, aber nur, wenn eine taste gedrückt ist.
kann man in der normalen Do - Loop routine den timer abfragen oder oder in der Timer routine irgendwie ein "if" einbauen? ich komm einfach nicht weiter [-o<
-
Code:
DIM byByte as Byte
Config Timer1 = Timer, Prescale = 256
On Timer ISR_Timer1
Timer1 = 34286
Config PinD.5 = Output
Taster ALIAS PortD.5
Do
'irgendwas
Loop
ISR_Timer1:
Timer1 = 34286
If Taster = 1 Then INCR byByte
Return
In diesem Beispiel wird Timer 1 auf 1 sec eingestellt (gilt für 8 MHz-Takt); ein Taster ist am Pin D.5 angeschlossen, der auf Druck den Pin auf 5V setzt. Wird der Timer-Interrupt ausgelöst, wird in der ISR erst mal der Timer neu geladen um wieder 1 sec zu haben. Dann wird geprüft: Ist der Taster gedrückt? Wenn ja: byByte um eins hochzählen.
-
O:) funktioniert, danke!!!!