mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Switch SPI <-> UART bei MSP430F147


Autor: rillo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen

Ich möchte bei einem MSP430F147 die USART0 abwechselnd als SPI bzw. UART 
betreiben. Mit der SPI Schnittstelle lesen ich einen ASIC aus, per UART 
möchte ich die Daten dann an den PC schicken. Die zweite USART ist 
leider ebenfalls belegt und kann nicht benutzt werden...

Ich hab nun das Problem dass ich die USART einmal von UART auf SPI und 
wieder auf UART umschalten kann, doch dann krieg ich einen Glitch bei 
den empfangenen SPI Daten...Für mich sieht es nach einem Hardwarefehler 
auf dem MSP aus. Hat da jemand Erfahrung damit oder schon von diesem 
Problem gehört?

Gruss

rillo

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Setzt du das SWRST Bit während der Um-Konfiguration der Schnittstelle?

Autor: rillo (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hab die Initialisierung ziemlich ausführlich gemacht (siehe Anhang). Aus 
meiner Sicht sollte da nichts fehlen.

Gruss

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schaut erst mal gut aus. Und was genau passiert? Wo sind Glitches? Sagt 
der User Guide nix dazu?

Autor: rillo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Im UORXBUF erhalten ich bei SPI Konfiguration ungültige Daten:

Soll: 0100'0000
Ist:  0010'0000 oder
      0001'0000
Im Users Guide hab ich nur folgende Anweisung gefunden:

13.2.1 USART Initialization and Reset

*Note: Initializing or Re-Configuring the USART Module*
The required USART initialization/re-configuration process is:
1) Set SWRST (BIS.B #SWRST,&UxCTL)
2) Initialize all USART registers with SWRST = 1 (including UxCTL)
3) Enable USART module via the MEx SFRs (URXEx and/or UTXEx)
4) Clear SWRST via software (BIC.B #SWRST,&UxCTL)
5) Enable interrupts (optional) via the IEx SFRs (URXIEx and/or UTXIEx)
Failure to follow this process may result in unpredictable USART 
behavior.

Hab mich meiner Ansicht nach an diese Vorgabe gehalten. Zwischen dem 
Umschalten von UART auf SPI warte ich noch 100ms nach dem letzten 
Senden.

Autor: Tobias Korrmann (kurzschluss81)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Christian R. wrote:
>  Wo sind Glitches?

Mal ne dumme Frage was sind Glitches. Nur so als Verständmissfrage.

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.