-         

Ergebnis 1 bis 3 von 3

Thema: Timer - Ich checks nicht

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    21.12.2007
    Beiträge
    22

    Timer - Ich checks nicht

    Anzeige

    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<

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von Jaecko
    Registriert seit
    16.10.2006
    Ort
    Lkr. Rottal/Inn
    Alter
    35
    Beiträge
    1.987
    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.
    #ifndef MfG
    #define MfG

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    21.12.2007
    Beiträge
    22
    funktioniert, danke!!!!

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •