Hi,
Ich verwende als Endlos Schleife immer while(1)
Code:
#include <avr/io.h>
int main (void)
{
while(1) {
DDRA = 0x00;
if (PINA & (1<<PINA7)) //Bedingung1
{
DDRC = 0xff; //Port c als Ausgang
PORTC = (1<<PC0); //Alle LEDs ausser LED1 sollten leuchten
}
else
{
DDRC = 0xff; //Erneut als Ausgang definieren, weil
//es nicht mehr im selben Blck ist wie voher
PORTC = (1<<PC1); //Alle LEDs ausser LED2 sollten leuchten
}
} // Ende der While Schleife
return 0; //Wieder an den Anfang
}
Jetzt wird einfach die komplette int main(void) unendlich oft wiederholt.
Ich glaube du kannst auch die Definition PortC als Ausgang außerhalb der Schleife setzen, dann musst du sie nicht immer neu Definieren.
Ich bin in C auch noch nicht ganz so weit. Kann durchaus sein, dass die while schleife falsch gesetzt ist.
Gruß
Spanky
EDIT: Hmm eben war wieder Critical Error. Hätte nicht gedacht das mein Beitrag ankommt.^^
Lesezeichen