Danke für deine Antwort, aber es funktioniert immer noch nicht.
Der Code ist jetzt folgender:
Code:
#include <avr/io.h>
#include <util/delay.h>
uint16_t ms;
void long_delay(uint16_t ms)
{
for(; ms>0; ms--) _delay_ms(1);
}
int main(void){
DDRB |= 0xff;
DDRD |= 0x00;
while(PIND == 0x00){
PORTB &= 0x00;
long_delay(1000);
PORTB |= 0xff;
long_delay(1000);
}
return 0;
}
Die Led's bleiben einfach an.
Aber wie gesagt ist es egal welchen Code ich ver wende. Auch wenn ich eine while(1) Schleife verwende geht das nicht...
[edit:]
Im Simulator funktioniert der Code jetzt.
Und falls das wichtig ist: ich benutze die Optimierung -01
Lesezeichen