Код
static void avr_init(void)
{ TCCR1B=(1<<CS10)|(1<<WGM12);// ctc mode
OCR1A=4000;//время 1 милисекунда
sei();
}
int main(void){
clock_prescale_set(clock_div_2);
avr_init();
DDRB|=_BV(1)|_BV(0);
while(1)
{
PORTB^=_BV(1);
if (TIFR1 & _BV(OCF1A)) // 0.001 sek
{
TIFR1 = _BV(OCF1A);
PORTB^=_BV(0);
}
}
}
{ TCCR1B=(1<<CS10)|(1<<WGM12);// ctc mode
OCR1A=4000;//время 1 милисекунда
sei();
}
int main(void){
clock_prescale_set(clock_div_2);
avr_init();
DDRB|=_BV(1)|_BV(0);
while(1)
{
PORTB^=_BV(1);
if (TIFR1 & _BV(OCF1A)) // 0.001 sek
{
TIFR1 = _BV(OCF1A);
PORTB^=_BV(0);
}
}
}
Все разобрался, этот код работает. Не работал UART из-за этого затормозил. Да и сейчас почему то получается, если взять значение из таблицы baud rate для 4Meg (4800 51 0.2%), то принимает нормально на 9600. Для меги88.