#include #include "owndef.h" #include "lcd.h" void main(void) {//____________________________________________________________________________________ //______________________________________________________________________________________ WDTCTL = WDTPW + WDTHOLD; // Stop WDT //______________________________________________________________________________________ BCSCTL1 |= XTS; // XT1 as high-frequency _BIC_SR(OSCOFF); // turn on XT1 oscillator //______________________________________________________________________________________ UCTL0 = CHAR; // 8-bit character UTCTL0 = SSEL0; // UCLK = ACLK BCSCTL1 |= 0x10; //teilt 8Mhz / 2 = 4Mhz UBR00 = 0x80; // 31.25kbaud (32µs time slices) UBR10 = 0x00; UMCTL0 = 0x00; // Modulation //______________________________________________________________________________________ //______________________________________________________________________________________ P3SEL |= 0x30; // P3.4,5 = USART0 TXD/RXD P3DIR |= 0x10; // P3.4 output direction P1OUT &= ~0xFF; P1DIR |= 0xFF; P2DIR |= + RS + E; //______________________________________________________________________________________ LCD_Init(); // LCD initialisieren ... LCD_Clear(); // und dann noch loeschen und cursor an den anfang zurueck LCD_Cursor_Set(0,0); LCD_Awrite("Warte"); //______________________________________________________________________________________ ME2 |= UTXE0 + URXE0; // Enabled USART0 TXD/RXD IE2 |= URXIE0; // Enabled USART0 RX interrupt _EINT(); // Enable interrupts //____________________________________________________________________________________ for (;;) { } //_____________________________________________________________________________________ //_____________________________________________________________________________________ } unsigned char rxbuffer[3]; unsigned int n=0,x=0; #pragma vector=UART0RX_VECTOR __interrupt void usart0_rx (void) { P1OUT |= 0x01; while (!(IFG2 & UTXIFG0)); // USART0 TX buffer ready? // //TXBUF0 = RXBUF0; if (x==2) { (x=0); } rxbuffer[x] = RXBUF0; TXBUF0 = rxbuffer [x]; x++; n=n+1; }