UART-Echo am MSP430F1232

OP #339579
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);
}
Angehängte Dateien:
Gast #339581
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?
Gast #339583
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.

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