Auf meinem 90S8515 läuft das Programm einwandfrei, nen Fehller seh ich so spontan auch nicht...

hier mal ne etwas dynamischere Version:
Code:
#include <avr/io.h>
#include <avr/delay.h>

void warte(int loop)  //loop: wartezeit in ms 
{
	int i;
	for(i=0;i<loop;i++) _delay_ms(1);
}

int main(void)
{
   DDRC =  0xFF;
   DDRB = 0xFF;
   DDRA = 0xFF;
   
   for (;;)
   {
   PORTB = 0xFF;
   PORTA = 0xFF;
   PORTC = 0xFF; 
   warte(400);
   PORTB = 0x00;
   PORTA = 0x00;
   PORTC = 0x00; 
   warte(400);
   }
}
kompiliert wird aber richtig, oder? makefile korrekt?

zur Sicherheit nochmal die .hex für nen Mega32:
Code:
:100000000C942A000C9445000C9445000C94450077
:100010000C9445000C9445000C9445000C9445004C
:100020000C9445000C9445000C9445000C9445003C
:100030000C9445000C9445000C9445000C9445002C
:100040000C9445000C9445000C9445000C9445001C
:100050000C94450011241FBECFE5D8E0DEBFCDBF14
:1000600010E0A0E6B0E0E4EEF0E002C005900D92F2
:10007000A036B107D9F710E0A0E6B0E001C01D92AC
:10008000A036B107E1F70C945A000C940000CF930E
:10009000DF93181619065CF4A0EDB7E0C0E0D0E0DD
:1000A0009C01CD010197F1F721503040D1F7DF914C
:1000B000CF910895CFE5D8E0DEBFCDBF8FEF84BBF1
:1000C00087BB8ABB8FEF88BB8BBB85BB80E991E088
:1000D0000E94470018BA1BBA15BA80E991E00E9445
:0400E0004700F0CF16
:00000001FF