Forum: Mikrocontroller und Digitale Elektronik MSP430F412 Pin bitadressierbar?


von Sven (Gast)


Lesenswert?

Hätte eine Frage zum Mikroconntroller MSP430F412. Und zwar möchte ich
wissen, ob dort die Pins bitadressierbar sind. Ich möchte z.B. auf den
Pin 1 des Port 1 zugreifen, aber das halt ohne auf den Port zugreifen
zu müssen (z.B über P1OUT 0x02), sondern halt direkt auf den Pin.
Im Dantenblatt finde ich nur Port-Adressierbar, aber das sollte doch
irgendwie mit C gehen, oder?

Danke

von hans (Gast)


Lesenswert?

jo das geht
du kannst normalerweise jeden pin direkt ansprechen zb P1.0 = 1;
oder P1_0 = 1; das musst du halt mal ausprobieren
abfragen geht natürlich auch

von Sven (Gast)


Lesenswert?

Das sind meine Möglichkeiten Laut msp430x41x.h:
#define P1IN_               (0x0020)  /* Port 1 Input */
READ_ONLY DEFC( P1IN           , P1IN_)
#define P1OUT_              (0x0021)  /* Port 1 Output */
DEFC(   P1OUT             , P1OUT_)
#define P1DIR_              (0x0022)  /* Port 1 Direction */
DEFC(   P1DIR             , P1DIR_)
#define P1IFG_              (0x0023)  /* Port 1 Interrupt Flag */
DEFC(   P1IFG             , P1IFG_)
#define P1IES_              (0x0024)  /* Port 1 Interrupt Edge Select
*/
DEFC(   P1IES             , P1IES_)
#define P1IE_               (0x0025)  /* Port 1 Interrupt Enable */
DEFC(   P1IE              , P1IE_)
#define P1SEL_              (0x0026)  /* Port 1 Selection */
DEFC(   P1SEL             , P1SEL_)


P1.0 = 1; oder P1_0 = 1; funktioniert leider nicht, schon probiert

von hans (Gast)


Lesenswert?

dann mach es zb so

P1OUT |= 0x01;
dann wird nur ein pin gesetzt der rest bleibt gleich

von SupaChris (Gast)


Lesenswert?

Und P1OUT &= ~0x01; setzt ihn wieder zurück.

Direkt nur einen Pin geht erst mal so nicht, da müsste man sich ein
Makro oder so schreiben.

von arc (Gast)


Lesenswert?

Die msp430x.h sind Includes für den Assembler, in den io430x.hs sind
dagegen die passenden C/C++-Definitionen.
Z.B. P1OUT_bit.P1OUT_0 = 0 <=> P1OUT &= ~1
Wobei der IAR-Compiler beide Varianten in bic #1, &P1OUT übersetzt

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.