Serielle Schnittstelle beim MSP430

Gast #5795632
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
Persönliche Seite #5795665
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".
#5795748
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).

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