Hallo
Bei Komplieren deines Programms erhalte ich unter anderem folgende Warnung:
temp.c:13: warning: 'n' might be used uninitialized in this function
Deshalb würde ich in der Funktion zaehler() als Ersatz für int n; folgende Zeile empfehlen:
static int n=0;
Das bewirkt, dass die Funktion die Variable nie mehr vergißt (static) und beim ersten Mal mit 0 vorbelegt wird (=0).
Einfacher geht es z.B. so:
GrußCode:#include "asuro.h" int main(void) { unsigned char i=0; Init(); StatusLED(RED); // Meldung Ende Init() erreicht while(1) { while(PINC & (1<<PC4)); // Wird ausgeführt solange keine Taste gedrückt wird i++; // Zähler erhöhen if(i==5) StatusLED(GREEN); // Zählerstand anzeigen if(i==10) StatusLED(YELLOW); if(i==15) { StatusLED(RED); i=0; } // und rücksetzen while(!(PINC & (1<<PC4))); // Wird ausgeführt solange eine Taste gedrückt wird } return(0); }
mic
Lesezeichen