PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : atmega16 led steuerung



negma
06.07.2006, 10:16
Hallo,

ich hab ein problem :( hier ein schnitt von mein prog. mit "led_status" beginnen die Leds zum laufen. Ich will die Led's nochmal mit "led_status " ausschalten können . Wie kann ich es machen?




#define led_status 0xFE
unsigned char check =0xFF;

for(;;)
{
PORTB=0xFF;
Input = PINA;

if(check ==led_status )
{
TCCR1B = (1<<CS12);
TIMSK = (1<<TOIE1);
SIGNAL(SIG_OVERFLOW1); //led steuerung
}
}

ManniMammut
06.07.2006, 13:00
Im ersten define ist nen Fehler drin! Da müsste wohl

#define led_status 0xFF
heißen ;-)

mfG, Manni

SprinterSB
06.07.2006, 13:15
Also so geht's auf keinen Fall, was auch immer du da machen willst...

Das SIGNAL bleibt hier ohne Effekt und die Initialisierung der Timer in der Schleife ist nicht der hype.

eher sowas:



#define led_status 0xFE
unsigned char check = 0xFF;

//led steuerung
SIGNAL(SIG_OVERFLOW1)
{
...
}

int main()
{
...
TCCR1B = (1<<CS12);
TIMSK = (1<<TOIE1);
PORTB=0xFF;
...

for(;;)
{
Input = PINA;

if(check == led_status )
{
...
}
}
}

negma
06.07.2006, 15:19
:) ok. das programm habe ich geändert, und wie kann ich die LED's jetzt wieder mit "led_status" ausschalten?

SprinterSB
06.07.2006, 15:33
beschreib mal ungefähr was du machen willst...

negma
06.07.2006, 16:38
Also nur mit eine taste (hier "led_status" genannt) die Led_Lauf starten und stoppen können. genau das will ich!!
gruß