Forum: Mikrocontroller und Digitale Elektronik MSP430 UART Interrupt Problem


von Gast (Gast)


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

von Jörg S. (joerg-s)


Lesenswert?

>Also das "dauer senden" funktioniert aber wenn ich was schicke wird der
>Interrupt nich ausgelöst????
Mit anderen Worten: Der RX Interrupt wird NIE aufgerufen?

von Gast (Gast)


Lesenswert?

Genau, also das Zeichen kommt beim Controller an aber er löst den IR 
nicht aus

von Gast (Gast)


Lesenswert?

So jetzt gehts... mit neuem Controller und dem oberen Code gehts, ist 
wohl der Rx des alten MSP kaputt.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.