Цитата(pimen @ Jul 9 2009, 22:04)

Столкнулся с проблемой - не получается инициализировать UART в МЕГЕ16.
Требуется РАБОТАЮЩИЙ кусок кода на С для инициализации UART.
Пожалуйста ! Функция:
/* Инициализация UART при 9600 Bd, tx/rx, 8N1.*/
void uart_init(void)
{
#if F_CPU > 2000000UL && defined(U2X)
UCSRA = _BV(U2X); /* improve baud rate error by using 2x clk */
UBRRL = (F_CPU / (8UL * UART_BAUD)) - 1;
#else
UBRRL = (F_CPU / (16UL * UART_BAUD)) - 1;
#endif
UCSRB = _BV(TXEN) | _BV(RXEN); /* tx/rx enable */
}
" Многие вещи нам непонятны не потому, что наши понятия слабы; но потому, что сии вещи не входят в круг наших понятий." (с) К.Прутков.