erstmal großes danke für die gute hilfe
=D>
allerdings habe ich nicht alles verstanden
ich habe es mal versucht zu berichtigen...
Code:
#include <avr/io.h>
int main () {
DDRB = 0x00; // B Eingänge
DDRD = 0xFF; // D Ausgänge
PORTD = 0x11; //Standard: D0,D4 gesetzt
DDRA = 0xFF; // A Ausgänge
PORTA = 0x00;
while(1)
{
if (!(PINB & (1<<PB1)) || !(PINB & (1<<PB2))) // Wenn B1 oder B2 == 0 dann ...
{
PORTD = 0x00; // Alle D Ports auf 0
}
if ( PINB & (1<<PINB4) ) // Wenn B4 == 1 dann
{
PORTD = 0x17; //D0,D1,D2,D4 gesetzt
}
if ( PINB & (1<<PINB3) ) // Wenn B3 == 1 dann
{
PORTD = 0x19; //D0,D1,D4 gesetzt
}
if (!(PINB & (1<<PINB0)) ) // Wenn B0 == 0 dann
{
PORTD = 0x11; //Standard: D0,D4 gesetzt
}
if((bit_is_set (PORTD,4))) //2LEDs abwechselnd blinken
//Wenn PortD4 gesetzt
{
PORTD &= ~(1 << PD4); //PortD4 auf 0 setzen PD4 statt nur 4
PORTD |= (1 << PD5); //PortD5 auf 1 setzen
}
else
{
PORTD &= ~(1 << PD5); //PortD5 auf 0 setzen PD5 statt nur 5
PORTD |= (1 << PD4); //PortD4 auf 1 setzen
}
}
return 0;
}
Lesezeichen