www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Sicherheitsabschaltung


Autor: sepp (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Ich sitze momentan an einer Sicherheitsabschaltung für meine Anwendung, 
die wie folgt arbeiten soll.

Ich zähle in einem Timerinterrupt eine Variable hoch, damit ich immer 
gleich Zeitabstände hab. dann sage ich, solange das ereignis z besteht 
und die Variable kleiner x ist soll der Controller dies tun, und wenn 
sie größer x ist soll er etwas anderes tun und die Variable 
zurücksetzen.
dieser wechsel von "tun" und "anderes tun" soll jedoch maximal 3mal 
stattfinden. wenn dann immer noch z da ist soll das System bei "tun" 
verharren.
Timerisr()
{
   ++Zaehler;
   if (Zaehler<=x)
   {operation=1;}
   else
   {operation=0;}

   if (Zaehler==y&&z=1)
   {
      Zaehler=0;
      ++i;
      if (i>=3)
      {
         while(1)
         {operation=1;}
      }
   }
}

so ungefähr hab ich mir das gedacht, aber es läuft noch nicht wirklich, 
das Programm bleibt nicht in der whileschleife.

könnte es sein, dass ich dann in der whileschleife die Interrupts 
disablen muss?

Autor: Johannes M. (johnny-m)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> if (Zaehler==y&&z=1)
Da fehlt ein "="...

Außerdem: Eine Endlosschleife in einer ISR? Das sollte auch anders 
gehen.

Autor: sepp (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Da fehlt ein "="...

hab ich dann auch gesehen, war aber nicht der Fehler

>Außerdem: Eine Endlosschleife in einer ISR? Das sollte auch anders
>gehen.

Habs einfach ins main geschmissen, jetzt funzts

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.