MSP430 MM232R

Gast #1069370
Lesenswert?

Hallo,
ich moechte von Matlab Daten zum Microcontroller (msp430) senden und 
habe dafuer an ein mm232r genommen. Leider scheint es, dass der uC 
nichts erhaelt im Rxbuffer. Ich weiss nicht ob ich moeglicherweise den 
mm232 falsch angeschlossen habe...ich habe nur die Rx und Tx pins an den 
uC angeschlossen nicht aber die handshaking pins...brauche ich die auch?
Wie es scheint hat mein uC diese pins ja nicht...bin dankbar fuer jede 
hilfe.

Danke,

Daniel
Gast #1072031
Lesenswert?

Die beiden Geraete habe ich wie das Bild zeigt angeschlossen.
Habe auch versucht den uC wegzunehmen und nur mit dem Oszilloskop den TX 
des mm232 anzuschauen, aber leider ist dort keine Aenderung des Signals 
zu sehen wenn ich mit dem tmtool aus matlab was sende.
Angehängte Dateien:
Gast #1072037
Lesenswert?

Den MSP430 code den ich bis anhin benutzt habe:
#include "msp430x26x.h"

void main(void)
{
  WDTCTL = WDTPW + WDTHOLD;          // Stop Watchdog timer
  UCA0CTL1 = 0x1;      // USCI logic held in reset state
  UCA0CTL0 = 0x26;      // asynchronous mode, uart mode with
    // automatic baud rate, one stop bit, 8bit data, MSB, no parity


  P3SEL = 0x30;                      // P3.4 tx and P3.5 rx
  P3DIR = 0x10;
  UCA0CTL1 = 0x0;      // USCI logic released for operation
  IE2 |= UCA0RXIE;                   // Enable USCI_A0 RX interrupt

  __bis_SR_register(LPM0_bits + GIE);       // Enter LPM0, interrupts 
enabled
}
#pragma vector=USCIAB0RX_VECTOR
__interrupt void USCI0RX_ISR(void)
{
  while (!(IFG2&UCA0TXIFG));                // USCI_A0 TX buffer ready?
  UCA0TXBUF = UCA0RXBUF;                    // TX -> RXed character
}
Gast #1072075
Lesenswert?

>Du müsstest Pin 4 an Pin 3 anklemmen.
Um die Signale auf 3,3V zu bekommen, richtig!
Das erklärt aber noch nicht, warum der MM232R alleine ohne µC auch nicht 
funktioniert!
Möglicherweise erwartet das tmtool / matlab ein Hardware-Handshaking.
Probier mal RTS und CTS miteinander zuverbinden, um dem Host 
vorzugaukeln, er könne senden!?
Gast #1072080
Lesenswert?

Habe das gemacht (macht auch Sinn) nur leider muss es noch ein anderes 
problem geben. Habe auch mit hyperterminal versucht was auf den port zu 
schicken, aber der Rxbuffer erhaelt nichts und Oszilloskop zeigt nichts 
an...
Gast #1074667
Lesenswert?

Ich kann jetzt zwar am Oszilloskop sehen, dass ein Signal gesendet wird, 
leider kann ich aber kein Echo (siehe code) sehen. Ich habe im tmtool 
das RequesttoSend auf off geschaltet und die pins RTS und CTS 
zusammengeklemmt, ebenso pins 3 und 4. Weiss jemand was ich noch falsch 
mache?
#1075942
Lesenswert?

Ok, nochmal von vorne. Nicht immer den 3. Schritt vor dem 1. machen.

1. Was für einen Quarz hast du wo am MSP430 angeschlossen? Ist da 
überhaupt einer dran? Wenn ja, funktioniert der richtig?

2. Probier doch bitte mal den Quelltext aus dem Code-Example Zip-File 
zusammen mit Hyperterminal.

3. Gewöhn dir bitte an, die Bits in den Registern so wie bei TI beim 
Namen zu nennen, mit einer 0x26 kann kein Mensch auf Anhieb was 
anfangen.

4. Was bedeutet die LSB Einstellung bei deinem Matlab Dingens? Etwa, 
dass das LSB zuerst gesendet wird?

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