* Code adapted from Atmel AVR ApplICation Note AVR306
* PolLEDmode driver forUART, this is the similar to the
* library default putchar() and getchar() in ICCAVR
*/
#include
#include
#include "uart.h"
/* initialize UART */
void InitUART( unsigned char baudrate )
{
UBRR = baudrate; /* set the baud rate */
UCR = BIT(RXEN) | BIT(TXEN); /* enable UART receiver and transmitter */
}
/* Read and write functions */
unsigned char ReceiveByte( void )
{
while ( !(USR & (1<
return UDR;
}
void TransmitByte( unsigned char data )
{
while ( !(USR & (1<
UDR = data; /* start transmittion */
}
#ifdef TEST
/* main - a simple test program*/
void main( void )
{
InitUART( 11 ); /* set the baudrate to 19,200 bps using a
3.6864MHzcrystal */
while ( 1 ) /* forever */
{
TransmitByte( ReceiveByte() ); /* echo the received character */
}
}
#endif