www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik MSP430F155 Uart Interrupt


Autor: Lars D. (eitum)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich sitz vor einem mittelschweren Problem und hoffe ihr könnt mir 
helfen.
Meine Hardware besteht aus einem MSP430F155 der von einen 7.372.800 Hz 
Quarz befeuert wird.

void fnInit_XT(void) // high frequenz resonators ( 455 kHz - 8MhZ )
{
  unsigned int i;
  
  BCSCTL1 |= XTS;                       // ACLK = LFXT1 = HF XTAL
 
  do 
  {
    IFG1 &= ~OFIFG;                       // Clear OSCFault flag
    for (i = 0xFF; i > 0; i--);           // Time for flag to set
  }
  while (IFG1 & OFIFG);      // OSCFault flag still set?                
  BCSCTL2 |= SELM1+SELM0;               // MCLK = LFXT1 (safe)
}
Die Init des Quarzes.  sollte soweit in Ordnung sein.
 
  P3DIR  =  0xDF;    //port3 = UART
P3SEL  =  0x30;    // port3 used as GPIO, UART

Das sollte eigentlich auch passen.

void fnInitUart0()
{
    ME1    |=  UTXE0 + URXE0;           // USART0 einschalten (TX- und RX-teil)
    
  UCTL0  |=  CHAR;                         // 8 data bits, 1 stop bit, no parity (8N1)
  UTCTL0  |=  SSEL0;                        // ACLK als UCLK festlegen
  
  UBR00 = 0x40;                               // 8MHz 115200
    UBR10 = 0x00;                               // 8MHz 115200
    UMCTL0 = 0x00; 
    
  UCTL0 &= ~SWRST;                  // USART freigeben
  IE1 |= URXIE0 + UTXIE0;            // TX- und RX-interrupt anschalten
  IFG1 &= ~UTXIFG0;              // initales interrupt-flag loeschen
   _BIS_SR(LPM3_bits + GIE);             
}

#pragma vector = USART0RX_VECTOR
__interrupt void USART0RX_ISR(void)
{
  fnReceiveBuffer();
}
 und dies ist die angepasste Init der Uart sowie der Interrupt. Obwohl 
ich mit dem Oszi ein herrliches Signal am Pin sehe, bekomm ich leider 
keinen Interrupt ausgelöst. Hab jetzt schon einiges probiert ohne 
erfolg. Vielleicht sieht ja ein anderes Paar augen mehr!  Danke schonmal 
vorab :)

P.S.  ich nutz das CCS v4  von TI zum entwickeln.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.