MSP430 - Konstanten ausm Headerfile

Persönliche Seite #1776961
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.

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