Sicherheitsabschaltung

Gast #590371
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.
1
Timerisr()
2
{
3
   ++Zaehler;
4
   if (Zaehler<=x)
5
   {operation=1;}
6
   else
7
   {operation=0;}
8

9
   if (Zaehler==y&&z=1)
10
   {
11
      Zaehler=0;
12
      ++i;
13
      if (i>=3)
14
      {
15
         while(1)
16
         {operation=1;}
17
      }
18
   }
19
}

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?
Gast #590522
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

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.