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
volatile char preved[]= "Preved";
void USART_Transmit(char data );
void USART_Init( unsigned int ubrr);
void USART_SendStr(char* str);
int main( void )
{
USART_Init(MYUBRR);
while (1){
/*uint8_t i;
for (i=0;i<14;i++){
USART_Transmit(preved[i]);
_delay_ms(20);
}
USART_Transmit(' ');
*/ _delay_ms(1000);
USART_SendStr("Preved");
}
return(0);
}
void USART_SendStr(char* str)
{
while(*str)USART_Transmit(*str++);
}
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(char data )
{
/* Wait for empty transmit buffer */
while ( !( UCSR0A & (1<<UDRE0)) );
UDR0 = data;/* Put data into buffer, sends the data */
}