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?