

можете сами у себя проверить, кроме как мистикой я это описать не могу
void main()
{
init_devices();
while(1);
}
// getting byte from COM PORT
#pragma interrupt_handler get_result:8
void get_result()
{//x.z no ne rabotaet
x[cou]=UDR;cou++;
if (cou==4) {cou=0;}//sort();}
putchar('U'); //vivod obratno !!!
}
void port_init(void)
{
DDRB =0xFF; //init port B na vixod
PORTB = 0x00; //vkl all
PORTD = 0x00; //port vkl
DDRD = 0x00; //vse na vxod
}
//call this routine to initialise all peripherals
void init_devices(void)
{
CLI();
port_init();
uart0_init();
SetBit (SREG,7); //bit maski prerivanii
MCUCR = 0x00;
GIMSK = 0xF0; //obshii registr maski prerivanii
GIFR = 0xF0;
TIMSK = 0x00; //0x00
SEI();
}
//UART0 initialisation
// desired baud rate: 9600
// actual: baud rate:9600 (0,0%)
//
void uart0_init(void)
{
UCR = 0x00; //disable while setting baud rate
UBRR = 0x17; //set baud rate
// UBRR = 0x23; //set baud rate
UCR = 0x09; //enable
}