Mit Flag meine ich eine globale Variable.
Wenn der Speicherplatz knapp wird verwende ich für die Flags gerne struct.
volatile struct {
unsigned char Zaehler :1; /* Zählerstand auswerten */
unsigned char Error :1; /* Wenn Error dann 0 */
unsigned char Wert_neu :1; /* neue Werte berechnen */
}flag;
Aufgerufen wird das dann z.B. mit:
if (flag.Error)
Der Sinn einer ISR ist etwas erkennen, aber nicht abzuarbeiten. Das soll nach Möglichkeit in der Endlosschleife gemacht werden.
StartSwitch aktiviert den INT1 Interrupt, sehe aber nicht wo dieser abgearbeitet wird.
Eigentlich sollte es das gleiche wie PollSwitch sein, es wird erkannt das ein Taster (Bumper) betätigt wurde, ADC wird gestartet um zu eruieren welcher es ist.