/****************************************************************************** This program was produced by the CodeWizardAVR V1.23.6b Evaluation Automatic Program Generator © Copyright 1998-2002 HP InfoTech s.r.l. http://www.hpinfotech.ro e-mail:office@hpinfotech.ro , hpinfotech@xnet.ro Project : TXD - RXD Version : 1.0 Date : 26.05.2003 Chip type : AT90S8515 Clock frequency : 4,000000 MHz Memory model : Small Internal SRAM size : 512 External SRAM size : 0 Data Stack size : 128 ****************************************************************************/ /***************************** INCLUDES ************************************/ #include <90s8515.h> /***************************** DEFINITIONEN ********************************/ /* UCR Bit Definitionen */ #define RXEN 4 #define TXEN 3 #define UDRIE 5 /* USR Bit Definitionen */ #define RXC 7 #define UDRE 5 /***************************** Funktionen ***********************************/ /* UART initialisieren */ void InitUART(unsigned char baudrate) { /* baudrate setzen */ UBRR = baudrate; /* Sender, Empfänger und Daten Register leer Interrupt freigeben */ UCR |= ((1 << RXEN) | (1 << TXEN) | (1 << UDRIE)); } /* Empfange ein Byte vom UART */ //unsigned char ReceiveByte(void) //{ /* Warte, bis das die zu empfnagenden Daten übermittelt sind */ // while (!(USR & (1 << RXC))); /* und gib sie dann zurück */ // return UDR; //} /* Sende ein Byte über den UART */ void TransmitByte(unsigned char data) { /* Warte solange, bis das Daten Register leer ist */ while (!(USR & (1 << UDRE))); /* und schreibe danach die neuen Daten hinein */ UDR = data; } /**************************** HAUPTPROGRAMM **********************************/ void main(void) { DDRB=0xFF; /* Initialisiere UART bei 4MHZ Taktfrequenz und 9600 Baud */ InitUART(12); while (1) { TransmitByte('B'); while (!(USR & (1 << RXC))); PORTB=UDR; } }