Forum: Mikrocontroller und Digitale Elektronik Serielle Schnittstelle beim MSP430


von Frank2402 (Gast)


Lesenswert?

Hallo,

ich muss mich gerade auf eine Mikrorechner-Klausur vorbereiten. Beim 
Thema "Serielle Schnittstelle" gibt es ein paar Fragen im Fragenkatalog, 
mit denen ich leider gar nichts anfangen kann (die Vorlesungsunterlagen 
geben da nichts her):

1. Was passiert, wenn Sie während UTXIFG=0 das Register U1TXBUF 
beschreiben (zwei Fälle unterscheiden!)?

2. Was passiert, wenn Sie bei U1RXBUF zu spät lesen? Welchen Wert lesen 
Sie aus U1RXBUF, bevor URXIFG1 gesetzt wurde?

3. Interrupt-gesteuerte serielle Übertragung: Sie möchten nach 
Sendepause eine neue Ausgabe einleiten, UTXIFG1 in IFG2 ist gelöscht. 
Welche Bedingung muß erfüllt sein, damit U1TXBUF sicher beschrieben 
werden darf?

Ich verstehe leider nur Bahnhof. Kennt vielleicht sogar jemand eine 
Website, wo die Hintergründe beschrieben sind?

Grüße
Frank

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Frank2402 schrieb:
> die Vorlesungsunterlagen geben da nichts her

Von der ungenannten MSP430-Variante gibt es bei TI ausführliche 
Dokumentation, der passende "Family User's Guide" ist hier zu Rate zu 
ziehen.


Passend muss er sein, weil sich die Peripheriemodule zwischen 
verschiedenen Varianten durchaus unterscheiden können.

Also: Bestimme den genauen Typ, um den es geht, und besorge Dir dann den 
dazu passenden "Family User's Guide".

von Clemens L. (c_l)


Lesenswert?

Frank2402 schrieb:
> 1. Was passiert, wenn Sie während UTXIFG=0 das Register U1TXBUF
> beschreiben (zwei Fälle unterscheiden!)?

Abschnitt 13.2.5 des User's Guide sagt:
> ... data should not be written to UxTXBUF unless it is ready for new
> data indicated by UTXIFGx = 1. Violation can result in an erroneous
> transmission if data in UxTXBUF is modified as it is being moved into
> the TX shift register.

Frank2402 schrieb:
> 2. Was passiert, wenn Sie bei U1RXBUF zu spät lesen?

Abschnitt 13.2.3 sagt:
> An overrun error occurs when a character is loaded into UxRXBUF before
> the prior character has been read. When an overrun occurs, the OE bit
> is set.

Frank2402 schrieb:
> Welchen Wert lesen Sie aus U1RXBUF, bevor URXIFG1 gesetzt wurde?

Abschnitt 13.3 sagt:
> The receive-data buffer is user accessible and contains the last
> received character from the receive shift register.

Vor dem ersten empfangenen Zeichen ist der Wert nicht definiert.

Frank2402 schrieb:
> Welche Bedingung muß erfüllt sein, damit U1TXBUF sicher beschrieben
> werden darf?

Warten, bis TXIFG gesetzt ist. Das geht am besten mit einem Interrupt 
(siehe Abschnitt 13.2.7).

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Clemens L. schrieb:
> Abschnitt 13.2.5 des User's Guide

Welchen User's Guide hast Du Dir dazu ausgesucht?

von J. W. (dilbert)


Lesenswert?

> ich muss mich gerade auf eine Mikrorechner-Klausur vorbereiten.
Uni Mannheim? ;)

von Clemens L. (c_l)


Lesenswert?

Rufus Τ. F. schrieb:
> Welchen User's Guide hast Du Dir dazu ausgesucht?

"U1TXBUF" ist USART, also wahrscheinlich 1xx, also SLAU049. Aber die 
USART-Kapitel sind sowieso praktisch  identisch.

von Frank2402 (Gast)


Lesenswert?

Danke für die Beiträge. Es ist der F1611.

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.