#include <avr/io.h>
#include <util/delay.h>
#include <compat/twi.h>
#include <avr/interrupt.h>
#define FOSC 16000000UL
#define F_CPU 16000000
#define BAUD 9600
#define UBRR FOSC/16/BAUD-1
/* Init USART */
void init_USART0(unsigned int ubrr){
UBRR0H = (unsigned char) (ubrr>>8);
UBRR0L = (unsigned char) ubrr;
UCSR0C = (3<<UCSZ00); // 8-bit data. 1 stop bit
UCSR0B |= (1<<RXEN0) | (1<<TXEN0);
}
/* Transmit 1 byte Data */
void transmit_1byte_USART0(unsigned char data){
while(!(UCSR0A & (1<<UDRE0)));
UDR0 = data;
}
/* Main Program*/
int main()
{
init_USART0(UBRR);
while(1){
transmit_1byte_USART0('a');
_delay_ms(10);
}
return 0;
}