hi

ich bin ziemlich neu in der microcontroller programmierung...
habe vorher aber schon mit c++ gearbeitet

so, ich versuche einen atmel tiny 2313 zu programmieren und habe auch einen code geschrieben, der sich fehlerfrei compilieren lässt

allerdings denke ich, dass der nicht so läuft wie er soll und wollte das ein erfahrener User nochmal drüberschaut, ob die befehle stimmen und er macht was er soll, damit ich den nicht umsonst einlöte(habe es immer daneben geschrieben)

Ausserdem hoffe ich vielleicht ein paar verbesserungsvörschläge und tipps zu bekommen

Danke

Code:
#include <avr/io.h>          
 
int main () {            
 
   DDRB  = 0x00;   // B Eingänge          
   PINB = 0x00;     //jeden Eingang benutzen        
   
   DDRD  = 0xFF;   // D Ausgänge          
   PORTD = 0x11;	//Standard: D0,D4 gesetzt
   
   DDRD  = 0xFF;   // A Ausgänge          
   PORTD = 0x00;
 
   while(1) 
   {                
	
		if ((!PINB1 & (1<<PINB1)) || ( !PINB2 & (1<<PINB2)) ) // Wenn B1 oder B2 == 0 dann
		{
			PORTD = 0x00;         // Alle B Ports auf 0
		}
 
		if ( PINB4 & (1<<PINB4) ) // Wenn B1 == 1 dann
		{
			PORTD = 0x17;			//D0,D1,D2,D4 gesetzt
		}

		if ( PINB3 & (1<<PINB3) ) // Wenn B1 == 1 dann
		{
			PORTD = 0x19;			//D0,D1,D4 gesetzt
		}
		
		if ((!PINB0 & (1<<PINB0)) ) // Wenn B0 == 0 dann
		{
			PORTD = 0x11;				//Standard: D0,D4 gesetzt
		}
   
		if((bit_is_set (PORTD,4)))		//2LEDs abwechselnd blinken
										//Wenn PortD4 gesetzt
		{
			PORTA &= ~(1 << 4);		//PortD4 auf 0 setzen
			PORTD |= (1 << 5);			//PortD5 auf 1 setzen
		}
		else
		{
			PORTA &= ~(1 << 5);		//PortD5 auf 0 setzen
			PORTD |= (1 << 4);			//PortD4 auf 1 setzen
		}

   }                
   return 0;               
}