Unterprogramme und der Weg zurück

Gast #1087259
Lesenswert?

Ich habe gerade eine Gedankenblockade. folgendes (gekürztes) Programm
1
main()
2
{
3
  aus EEPROM Fehlerbit lesen //(ist 1, kurz zuvor gesetzt)
4
  if (Fehlerbit == 1)
5
    Fehlerroutine()
6
  weiter mit Programm
7
}
8

9

10
Unterprogramm Fehlerroutine:
11
Fehlerroutine()
12
{
13
  Wert messen
14
  if (Wert >= 5)
15
  {
16
    Fehlerbit in EEPROM zurück auf 0 setzen
17
    break();
18
  }
19
  alles ausschalten;
20
  Sleep mode();
21
}

Falls das Fehlerbit gesetzt wird/ist, dann soll der Controller in den 
Sleep mode fallen.

Wenn eine Bedingung erfüllt (Wert>=5) ist, soll das Fehlerbit 
zurückgesetzt werden und mit dem Programm weiter fortgefahren werden.

Geht das in dem oben geschilderten Fall so oder geht der Controller 
trotzdem noch in den sleep mode?

ich möchte natürlich, das das Programm sofort nach erreichen der 
Bedingung wieder fortgesetzt wird.

Anmerkung:
Der Sleep mode bleibt solange, bis die die Stromzufuhr unterbrochen 
wird. Erst bei erneutem Einschalten wird die Bedingung geprüft und das 
Fehlerbit evtl. zurückgesetzt. Soll heißen, das nach zurücksetzen des 
Fehlerbits, der Sleepmode nicht in Gang gesetzt werden soll.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren