Interrupt Auslösung aber wiso

OP #1822537
Lesenswert?
• ▲
▼
Hallo ich beschäftige mich gerade mit dem MPS430F1611 DEVELOPMENT BOARD 
von Olimex. Ich probiere gerade folgende Beispiel von Ti zu verstehen.

#include  <msp430f1611.h>
static char string1[] = { "Hello World\r\n" };
char i;
void main(void)
{
  WDTCTL = WDTPW + WDTHOLD;                 // Stop watchdog
  P3SEL = 0x30;                             // P3.3,4 = USART0 TXD/RXD

  ME1 |= UTXE0 + URXE0;                     // Enabled USART0 TXD/RXD
  UCTL0 |= CHAR;                            // 8-bit character, SWRST=1
  UTCTL0 |= SSEL0;                          // UCLK = ACLK
  UBR00 = 0x03;                             // 9600 from 1Mhz
  UBR10 = 0x00;                             //
  UMCTL0 = 0x4A;                            // Modulation
  UCTL0 &= ~SWRST;                          // Initialize USART state 
machine
  IE1 |= URXIE0 + UTXIE0;                   // Enable USART0 RX/TX 
interrupt
  IFG1 &= ~UTXIFG0;                         // Clear inital flag on POR

  _BIS_SR(LPM3_bits + GIE);                 // Enter LPM3 w/ interrupt
}
// UART0 TX ISR
#pragma vector=USART0TX_VECTOR
__interrupt void usart0_tx (void)
{
  if (i < sizeof string1-1)
    TXBUF0 = string1[i++];
}
// UART0 RX ISR
#pragma vector=USART0RX_VECTOR
__interrupt void usart0_rx (void)
{
  if (RXBUF0 == 'u')                        // 'u' received?
  {
    i = 0;
    TXBUF0 = string1[i++];
  }
}

Ich benutze dafür IAR Embedded Worckbanch (Kickstarversion) und den 
Docklight als Empfangseinheit über die RS 232 Schnitstelle. Wie aus dem 
Code ersichtlich ist erstmal ein großer teil nur Initialisierung. Wenn 
ich dann mit den Docklight dann ein u sende wie gefordert wird wie 
beschrieben ein Hello world zurück gesendet. Meine Frage ist aber warum 
wird das hello world zurück gesand für mich ist das nicht ersichtlich 
wiso das passiert. Das ein Interupt ausgelöst wird wenn ein u empfangen 
wird ist mir noch verständlich aber das rücksenden nicht. Danke schon 
mal für eure Hilfe.

mfg

Marek

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.