Zitat Zitat von SprinterSB
AT90S2313 hat keinen PortD.7
Oder verwendest du inzwischen nen anderen Controller?
In dem Falle must du avr-gcc mit der korrekten -mmcu=... aufrufen, sonst generierst du falschen Code.
Mensch bin ich doof...

Ok, dann probier ich das ganze mal mit PD5.

Code:
int main( void ) 
{ 
	DDRB  = 0b11111111;            
	PORTB = 0b11111111;
	
	DDRD  = 0b00100000;
	PORTD = 0b11011111;

   for(;;)
   {
	
	if (PD5)
	PORTB = 0b11110111;
 	
	else
	PORTB = 0b11101111;
   }

}
wenn ich
PORTD = 0b11111111;
sollte er in die if-Schleife rein und LED an PB3 müsste brennen. Tut sie auch.

wenn ich dann
PORTD = 0b11011111;
schreibe, müsste er doch in die else-Schleife und LED ab PB4 müsste brennen...tut sie aber nicht...PB3 brennt immer.

mit dem Oszi an PD5 gemessen kommt das Signal so, wie es kommen soll. Also mal High, mal Low...

Was mache ich falsch?
[-o<