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:
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);
}
Gruß
mic
Lesezeichen