Forum: Mikrocontroller und Digitale Elektronik Frage zu Registeraufbau bei MSP430F2132 - Uart


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Headlos (Gast)


Lesenswert?

Hallo,



In dem Datenblatt zum MSP430F2132 finde ich im Register IFG2 bei Bit 4 
und Bit 5 die Flags UTXIFG1 und URXIFG1

In der Headerdatei zu dem Prozessortyp wird mir folgendes gegeben:


#define IFG2_               (0x0003u)  /* Interrupt Flag 2 */
DEFC(   IFG2              , IFG2_)
#define UC0IFG              IFG2
#define UCA0RXIFG           (0x01)
#define UCA0TXIFG           (0x02)
#define UCB0RXIFG           (0x04)
#define UCB0TXIFG           (0x08)


Somit muss ich wohl erstmal die Transferleistung erbringen, das die 
Jungs von IAR von den Bezeichnungen UTXIFG1 und URXIFG1 warum auch immer 
Abstand genommen haben und stattdessen die obigen Bezeichnungen 
verwendet haben. Ich geh mal davon aus, dass dies einen tieferen Grund 
besitzt und nehme das erstmal so hin.


Mag mir aber nun vielleicht einer von euch übersetzen was diese Defines 
genau bewirken?
Die Positionen 4 und 5 möchte ich in dem Register ansprechen und mir ist 
noch nicht so ganz klar, wie der Compiler aus der Anweisung:

IFG2 |= UCA0TXIFG

auf genau die Bit-Position 0010.0000 kommt, denn genau dort müsste das 
Bit gesetzt sein, jedenfalls wenn der Hersteller des Headerdatei keinen 
Fehler gemacht hat, wovon ich wie gesagt erstmal ausgehen möchte.


Danke!

von Jim M. (turboj)


Lesenswert?

Im Family Guide gibts IFG2 mehrmnals. Deine Flags passen zum Kapitel 
16.4.9 (IFG2 im SPI Mode). Die Definitionen von UTXIFG1 und URXIFG1 
müssen anders lauten.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Headlos schrieb:
> In dem Datenblatt zum MSP430F2132 finde ich im Register IFG2 bei Bit 4
> und Bit 5 die Flags UTXIFG1 und URXIFG1

In welchem Datenblatt? In 
http://www.ti.com/lit/ds/symlink/msp430f2132.pdf gibt es diese Flags 
nicht.


> IFG2 |= UCA0TXIFG
> auf genau die Bit-Position 0010.0000 kommt, denn genau dort müsste das
> Bit gesetzt sein, jedenfalls wenn der Hersteller des Headerdatei keinen
> Fehler gemacht hat, wovon ich wie gesagt erstmal ausgehen

Wie kommst Du auf dieses Idee?

Sieh Dir mal das Datenblatt an, Seite 10, Tabelle 9.

"Interrupt Flag Register 2"

Das dort dargestellte entspricht exakt dem, was Du aus der Headerdatei 
zitiert hast.

Woher stammt Deine "Bit-Position 0010.0000"?

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.