/***************************************************************************** * * Atmel Corporation * * File : serial.c * Compiler : IAR C 3.10C Kickstart, AVR-GCC/avr-libc(>= 1.2.5) * Revision : $Revision: 1.7 $ * Date : $Date: Tuesday, June 07, 200 $ * Updated by : $Author: raapeland $ * * Support mail : avr@atmel.com * * Target platform : All AVRs with bootloader support * * AppNote : AVR109 - Self-programming * * Description : UART communication routines ****************************************************************************/ #include "defines.h" void initbootuart( void) { BAUD_RATE_LOW_REG = BRREG_VALUE; UART_CONTROL_REG = (1 << ENABLE_RECEIVER_BIT) | (1 << ENABLE_TRANSMITTER_BIT); /* enable receive and transmit */ } void sendchar( unsigned char c) { UART_DATA_REG = c; /* prepare transmission */ while (!(UART_STATUS_REG & (1 << TRANSMIT_COMPLETE_BIT))); /* wait until byte sendt */ UART_STATUS_REG |= (1 << TRANSMIT_COMPLETE_BIT); /* delete TXCflag */ } unsigned char recchar( void) { while (!(UART_STATUS_REG & (1 << RECEIVE_COMPLETE_BIT))); /* wait for data */ return UART_DATA_REG; }