Набросал небольшую функцию приема строки с помощью прерываний, код приведен ниже. Конец строки определяется по задержке в 3 секунды. Все в принципе работает, за исключением того, что принимаются только 3 символа. При отправке строки ABCD на экран выводится ABD и т.д.
Что я делаю не так?)
Код: Выделить всё
unsigned char UART_buffer[16];
interrupt [USART_RXC] void UART_Receive(void) {
UART_buffer[i]=UDR;
i++;
SREG.7=1;
UCSRA.7=1;
UCSRB.7=1;
send_lcd(set_first_line, UART_buffer);
delay_ms(3000);
i=0;
}
only pure true norwegian blackx 


