Archiv verlassen und diese Seite im Standarddesign anzeigen : Timer - Ich checks nicht
kawamaha
14.05.2008, 12:02
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<
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.
kawamaha
14.05.2008, 15:20
O:) funktioniert, danke!!!!
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.