Danke für deine Antwort, aber es funktioniert immer noch nicht.
Der Code ist jetzt folgender:
Die Led's bleiben einfach an.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; }
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







Zitieren

Lesezeichen