Forum: Mikrocontroller und Digitale Elektronik MSP430 - Konstanten ausm Headerfile


von Steff (Gast)


Lesenswert?

Hallo zusammen,

ich lerne zur Zeit den Umgang mit dem MSP430. Die Code Beispiele sind 
schwer nachzuvollziehen, da ich oft nicht weiß was hinter einigen 
Konstanten steht.

Wie z.B. OUTMOD_x und viele weitere.

Kann mir jemand sagen, wie ich da am besten Überblick bekomme?

von Steff (Gast)


Lesenswert?


von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Bei C-Code für die MSP430-Reihe gibt so eine Konstante den Wert eines 
Bits in einem Register an, das unterscheidet sich von C-Code für AVRs, 
bei denen die Konstante die Nummer des Bits beschreibt.

Das resultiert in unterschiedlich aussehendem Code:

 Register = BIT1 | BIT2 | BIT7;  // MSP

 Register = (1 << BIT1) | (1 << BIT2) | 1 << BIT7).  // AVR


Im ersten Falle sind die Konstanten als 2, 4, und 128 definiert, im 
zweiten Falle als 1, 2 und 7.



Was nun eine Konstante wie OUTMOD_x bedeutet, ist im User's Guide des 
entsprechenden MSP430-Derivats beschrieben. Für die einzelnen 
Peripheriefunktionen gibt es jeweils eine technische Beschreibung, 
gefolgt von einer Beschreibung der Betriebsarten und im Anschluss eine 
Beschreibung der zugehörigen Register.
Und in der Registerbeschreibung werden die einzelnen Bits benannt - und 
zwar so, wie sie auch in den Headerdateien der Compiler genannt werden.

Sieh also in das User's Guide in den Abschnitt, der die 
Peripheriefunktion beschreibt, um die es in Deinem Code geht, und lies 
Dir die Beschreibung des Registers durch, und schon wirst Du auf die 
Bedeutung der Konstante stoßen.

[edit]
Ah, ich sehe, daß Du Dir diesen Hinweis auch schon selbst gegeben hast. 
Dann ist der Tip ja wohl nicht so schlecht.

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.