Forum: Mikrocontroller und Digitale Elektronik UART-Echo am MSP430F1232


von Kim T. (kimtsch)


Angehängte Dateien:

Lesenswert?

Hi,

Ich versuche eine MIDI Signal (asynchron, seriell) durch einen MSP zu
modifizieren. Dafür muss ich das Signal erstmal ein den MSP bekommen
und dann wieder ausgeben. Mit diesem gefundenem Beispiel soltte eine
Echo des Signal vom PIN 3.5 auf PIN 3.4 zu erzeugen sein. Leider kommt
keine Echo durch. Hat jemand eine Ahnung wo der Fehler steckt??

der KIM


void main(void)

{

  WDTCTL = WDTPW + WDTHOLD;             // watchdog - Timer anhalten
  UCTL0  = CHAR;                        //8 bit charakter
  UTCTL0 = SSEL0;                       //UCLK = ACLK
  ME2 |= UTXE0 + URXE0;                 //enable USART0 TXD/RXD
  IE2 |= URXIE0;                        //enable USART0 RX interrupt
  P3SEL |=0x30;                         //P3.4,5 = USART0 TXD/RXD
  P3DIR |=0x10;                         //P3.4 output
  _EINT();

  for (;;)                              // Endlosschleife


   {
   _BIS_SR(LPM3_bits);
   while ((IFG2 & UTXIFG0) != UTXIFG0);
  TXBUF0 = RXBUF0 ;
   }
}

#pragma vector=UART0RX_VECTOR
__interrupt void usart0_rx(void)
{
_BIC_SR_IRQ(LPM3_bits);
}

von Kim T. (kimtsch)


Lesenswert?

sorry habe vergessen, dass das signal 24bit lang ist!!

von SupaChris (Gast)


Lesenswert?

>>  UCTL0  = CHAR;                        //8 bit charakter

Wenn das Signal 24 Bit lang ist, klappt das ja nicht. Eventuell würde
es mit der SPI-Hardware im MSP gehn, im UART Modus wird das so nix. Hat
MIDI denn überhaupt irgendwelche Start/Stopp Bits die zu einer UART
passen würden?

von Kim T. (kimtsch)


Lesenswert?

Danke für die schnelle Antwort!!

Ein MIDI Signal besteht aus 3Byte.
Kommt kein Signal liegt die Leitung auf HIGH, das Startbit ist immer
LOW.
Der UART kann wohl nur byteweise einlesen??

von SupaChris (Gast)


Lesenswert?

Naja, der UART ist ja asynchron, er hat keine Takt- und keine
CS-Leitung, muss also irgendwie Start und Stop einer Übertragung selbst
erkennen. Das gescheiht durch Start- und Stoppbits. Geht wohl auch ohne
in bestimmten Modi, aber der UART im MSP kann nur 7 oder 8 Bit soweit
ich das verstanden hab.

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.