rendered paste bodythefear@thefear:~/flshit$ cat demo.c
#define F_CPU 20000000L
#include <avr/io.h>
#include <util/delay.h>
#define BAUD 9600L
//#define MYUBRR (F_CPU/(16*BAUD)-1)
#define MYUBRR 129
void USART_Transmit( unsigned char data );
void USART_Init( unsigned int ubrr);
int main( void )
{
USART_Init(MYUBRR);
while (1){
USART_Transmit(0xFF);
_delay_ms(1000);
USART_Transmit('X');
_delay_ms(1000);
}
return(0);
}
void USART_Init( unsigned int ubrr)
{
UBRR0H = (unsigned char)(ubrr>>8);
UBRR0L = (unsigned char)ubrr;
UCSR0A = 0;
/*Enable receiver and transmitter */
UCSR0B = (1<<RXEN0)|(1<<TXEN0);
UCSR0C = (0<<UMSEL00)|(0<<UMSEL01)|(0<<UPM01)|(0<<UPM00)|(0<<USBS0)|(0<<UCSZ02)|(1<<UCSZ01)|(1<<UCSZ00);
}
void USART_Transmit( unsigned char data )
{
/* Wait for empty transmit buffer */
while ( !( UCSR0A & (1<<UDRE0)) )
UDR0 = 'X';/* Put data into buffer, sends the data */
}