<compat/deprecated.h>
Ich hoffe, Dir ist klar, was deprecated heißt, da haben sich die Entwickler was bei gedacht.
_delay_ms(2.2);
Ohne nachgeguckt zu haben, erwartet _delay_ms nicht long als Argument ?
Da ich eh mein STK500 neben mir liegen habe, hab ich folgendes ausprobiert:
Code:
#define F_CPU 1000000L
#include <avr/io.h>
#include<util/delay.h>

int main(void) {

  uint8_t a;
  DDRC = (1<<PC0);
  PORTC |=(1<<PC0);
  while(1) {
    for(a=0;a<200;a++) 
      _delay_ms(2);
    PORTC &=~(1<<PC0);
    for(a=0;a<200;a++) 
      _delay_ms(2);
    PORTC |=(1<<PC0);
  }
  return 0;
}
Blinkt wie verrückt mit Optimierung -Os

Gruß Sebastian