Danke Hubert!
ich habe es jetzt so gelöst:
Code:
#include <avr/io.h>
//#define F_CPU 16000000
//#include <avr/delay.h>
//extern void wait(uint8_t T);
#define T1 0x04
#define T2 0x08
#define LED1 0x20
#define LED2 0x40
#define SUM 0x80;
int main()
{
uint8_t release1;
uint8_t release2;
DDRD |= 0xE0;//PD5,PD6,PD7 als Ausgänge setzen
DDRD &= ~(0x0c);
PORTD &= 0x00;
release1 = 0x01;
release2 = 0x01;
while(1)
{
if((PIND & T1) && (release1 == 0x01))
{
release1 = 0x00;
if(PORTD & LED1)
{
PORTD &= ~LED1;
PORTD &= ~SUM;
}
else
{
PORTD |= LED1;
PORTD |= SUM;
}
}
else
{
if (!(PIND & T1))
{
release1 = 0x01;
}
}
if ((PIND & T2) && (release2 == 0x01))
{
release2 = 0x00;
if(PORTD & LED2)
{
PORTD &= ~LED2;
PORTD &= ~SUM;
}
else
{
PORTD |= LED2;
PORTD |= SUM;
}
}
else
{
if (!(PIND & T2))
{
release2 = 0x01;
}
}
}
return 0;
}
kann noch eine bessere Lösung?
MfG
Lesezeichen