MSP430 UART Interrupt Problem

Gast #1025868
Lesenswert?

Hallo,

ich habe ein Problem mit dem Interrupt des UART0 vom MSP430F149. 
Folgenden Code habe ich
1
WDTCTL = WDTPW + WDTHOLD;                 // Stop WDT
2
  P3SEL |= 0x30;                            // P3.4,5 = USART0 TXD/RXD
3
  P1DIR |= 0x01;
4
  ME1 |= UTXE0 + URXE0;                     // Enable USART0 TXD/RXD
5
  UCTL0 |= CHAR;                            // 8-bit character
6
  UTCTL0 |= SSEL0;                          // UCLK = ACLK
7
  UBR00 = 0xA0;                             // 3.58Mhz 19200 - 186
8
  UBR10 = 0x01;                             //
9
  UMCTL0 = 0x00;                            // no modulation
10
  UCTL0 &= ~SWRST;                          // Initialize USART state machine
11
  IE1 |= URXIE0;                            // Enable USART0 RX interrupt
12
  _EINT();
13
  while(1)
14
"  {
15
    while (!(IFG1 & UTXIFG0));                // USART0 TX buffer ready?
16
    TXBUF0 = 0x22; 
17
   
18
    for(a=0; a<= 900; a++)
19
    {
20
      for(i=0; i<= 800; i++)
21
      {
22
      }
23
    }  
24
  }
25
}
26

27
#pragma vector=USART0RX_VECTOR
28
__interrupt void usart0_rx (void)
29
{
30
  P1OUT ^= 0x01;
31
  while (!(IFG1 & UTXIFG0));                // USART0 TX buffer ready?
32
  TXBUF0 = RXBUF0;                          // RXBUF0 to TXBUF0
33
}
ist eigentlich größtenteils von einem TI Beispiel. Ich möchte nun in dem 
"dauer senden" in der while-schleife ein empfangenes Zeichen wieder 
zurück senden.
Also das "dauer senden" funktioniert aber wenn ich was schicke wird der 
Interrupt nich ausgelöst????

Kann mir jemand helfen, danke

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren