-         

Ergebnis 1 bis 3 von 3

Thema: Probleme mit Interrupt und TimerOne Library

  1. #1
    Benutzer Stammmitglied Avatar von Chevy
    Registriert seit
    07.12.2004
    Ort
    Biblis
    Alter
    50
    Beiträge
    33

    Probleme mit Interrupt und TimerOne Library

    Anzeige

    Hi,

    ich brauch mal etwas Hilfe, stehe auf dem Schlauch...

    Hardware: Arduino Mega 2560 R3


    Habe mal in mein Programm folgende Library einegbunden:
    http://playground.arduino.cc/Deutsch...ndTimerlibrary


    PHP-Code:

        
    #include "TimerOne.h"  
        
    int ledpin=13;
        
    int alle_x_sekunden=1;
         
        
    void setup()   {
                       
    pinMode(ledpinOUTPUT);
                       
    Timer1.initialize(alle_x_sekunden*1000000);
                       
    Timer1.attachInterrupt(blinken);
                       }
         
         
        
    void blinken() {
                       
    digitalWrite(ledpindigitalRead(ledpin) ^ 1);
                       } 
    Nun möchte ich innerhalb des Programms die Funktion starten, was auch funktioniert.

    Nur wie kann man die Funktion anhalten?

    Habe es mit dem Befehl:

    Timer1.detachInterrupt();

    versucht, der Kompiler meckert nicht, aber funktionieren tut es auch nicht.

    Wer kann mir Helfen?

    Gruß Marco
    Geändert von Chevy (27.03.2015 um 15:00 Uhr)

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    02.11.2005
    Alter
    42
    Beiträge
    1.140
    Eigentlich sollte es mit detachInterrupt() funktionieren, da die Funktion den Overflow Interrupt abschaltet.
    Alternativ sollte auf jeden Fall Timer1.stop() funktionieren.

    Poste doch mal bitte Deinen Code mit der Abschaltung.

    Gruß,
    askazo
    - Das Leben ist zu kurz, um in C zu programmieren -

  3. #3
    Benutzer Stammmitglied Avatar von Chevy
    Registriert seit
    07.12.2004
    Ort
    Biblis
    Alter
    50
    Beiträge
    33
    Hi,

    Timer1.Stop();

    hatte ich auch schon probiert, jedoch ebenfalls ohne erfolg?

    Mein Code ist sehr lange, daher nur das wesentliche

    PHP-Code:
      #include "TimerOne.h"  // Ermöglicht die Timer-Interrupt Funktion zu nutzen
      
    .
      .
      .
      
    int alle_x_sekunden     =1;   // Variable alle_x_sekunden deklarieren
      
    int gelb[]   = {13,26,27,28,29,30,31,32,33}; // Digital-Ausgänge der Variable zuweisen
      
      
    void setup() 

      .
      .
      .
        for (
    int i=0i<9i++)       // Zähler-Schleife für die Ausgänge
        
    pinMode(gelb[i], OUTPUT);
      .
      .
      .
     
    void blinken() 
    {
      
    digitalWrite(gelb[0], digitalRead(gelb[0]) ^ 1); // zum Test nur der Speicher 0 = Pin13 aktiviert
      
    digitalWrite(gelb[1], digitalRead(gelb[1]) ^ 1); // für ein Tip einer einfachen Schreibweise wäre ich dankbar!
      
    digitalWrite(gelb[2], digitalRead(gelb[2]) ^ 1);
      
    digitalWrite(gelb[3], digitalRead(gelb[3]) ^ 1);
      
    digitalWrite(gelb[4], digitalRead(gelb[4]) ^ 1);
      
    digitalWrite(gelb[5], digitalRead(gelb[5]) ^ 1);
      
    digitalWrite(gelb[6], digitalRead(gelb[6]) ^ 1);
      
    digitalWrite(gelb[7], digitalRead(gelb[7]) ^ 1);
      
    digitalWrite(gelb[8], digitalRead(gelb[8]) ^ 1);
    }

    void loop() 


    Timer1.initialize(alle_x_sekunden*1000000);
    Timer1.attachInterrupt(blinken);   
      
    delay(5000);

    Timer1.detachInterrupt();
    .
    .

    Das ist nur mein Test Code, wenn es funktioniert wird das ganze später im Programm eingebunden.

    Gruß Marco

    - - - Aktualisiert - - -

    Hi,

    alles Zurück... habe den Fehler gefunden...

    Da ich das ganze nur auf den Board selbst getestet habe und nicht im eingebauten Zustand wiederholt sich die Loop Schleife ständig. Und somit fehlte nach dem Befehl:
    Timer1.detachInterrupt();

    einfach nur eine zweite Pause... wie blöde!!!

    Sorry!!

    Gruß Marco
    Geändert von Chevy (27.03.2015 um 15:00 Uhr)

Ähnliche Themen

  1. Probleme mit UART und TIMER Interrupt
    Von MT2009 im Forum C - Programmierung (GCC u.a.)
    Antworten: 3
    Letzter Beitrag: 15.06.2010, 15:20
  2. Probleme mit Interrupt!
    Von doolitle15 im Forum PIC Controller
    Antworten: 1
    Letzter Beitrag: 12.05.2008, 12:48
  3. probleme mit asuro library
    Von Schorfo im Forum Asuro
    Antworten: 8
    Letzter Beitrag: 07.05.2007, 18:12
  4. Probleme mit Interrupt
    Von Eris im Forum Robby CCRP5
    Antworten: 0
    Letzter Beitrag: 01.09.2004, 22:21
  5. probleme mit Interrupt
    Von joh33 im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 3
    Letzter Beitrag: 29.07.2004, 11:33

Berechtigungen

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