#ifndef F_CPU
#define F_CPU 16000000UL
#endif

#include <avr/io.h>
#include <util/delay.h>
static void tone(uint16_t ms,uint16_t half_us){
  uint32_t cycles=(uint32_t)ms*1000/(half_us*2);
  while(cycles--){ PORTD^=(1<<PD6); _delay_us(1); for(uint16_t i=1;i<half_us;i++) _delay_us(1); }
}
int main(void){
  DDRD|=(1<<PD6);
  for(;;){ tone(300,125); _delay_ms(400); }   // ~4кГц пачками
}
