Несколько функций для настройки UART и отправки символа или строки символов.
Code
//F_CPU - тактовая частота процессора в герцах
#define F_CPU 7372800UL
//Отправляет символ
void uart_tx(unsigned char d)
{
while ( !( UCSRA & (1<<UDRE)) );
UDR = d;
}
//Отправляет строку символов
void uart_ss(char * s)
{
while(*(s)!='\0') uart_tx(*(s++));
}
//В начале программы вызвать эту функцию для настройки UART
void uart_init(unsigned long baudrate)
{
//9600, 1 stop bit, parity disabled, rxc interrupt enabled
UCSRA = 0;
UCSRB = (1<<RXCIE)|(1<<RXEN)|(1<<TXEN);
UCSRC = (1<<URSEL)|(1<<UCSZ1)|(1<<UCSZ0);
UBRRL = F_CPU / (16U * baudrate) - 1;
}