mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik MSP430F412 Pin bitadressierbar?


Autor: Sven (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: hans (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Sven (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: hans (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
dann mach es zb so

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

Autor: SupaChris (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: arc (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.