Forum: Mikrocontroller und Digitale Elektronik Digitale Input/ Output Operationen aus User Guide


von Antonowan225 (Gast)


Lesenswert?

Hi

aus dem User Guide meines MSP430 f5529 habe ich versucht, das Vorgehen 
zur Initialisierung eines Ports zu verstehen. Alles auf Englisch 
geschrieben, deswegen hier die Nachfrage, ob ichs richtig verstanden 
habe:

- PxSel bestimmt, ob ich einen Eingang/ Ausgang am Pin habe (PxSel = 
0x00) oder internes Funktionsmodul wie ein ADC genutzt wird (Pxsel = 
0x01)

- PxDIR: bestimmt ob der Pin nun als Eingang ( PxDir = 0x00) oder 
Ausgang ( PxDir = 0x01) genutzt wird. Binär für Pxsel = 0x01 oder 
entsprechend spez. In/Out für PxSel = 0x00

- PxOut: BIN ICH MIR NICHT SICHER! man kann hier fürr Taster (input 
direktion) pull up oder pull down widerstände wählen. oder für Ausgang 
high oder low wählen

PxIN: Keine Ahnung!

-PxIES: Wahl, bei welcher Flanke der Interrupt für PxIFG gesetzt wird 
(fallend oder steigend)... WAS MUSS ICH DA WISSEN? Interrupt dient z.B. 
beim Timer für je nach Mode für PWM Signal?

-PxIFG: merkt sich, ob es ein Interupt gab oder nicht. Aber was bedeutet 
das anschaulich?

-PxIE: ermöglicht, dass ein Interrupt überhaupt gesetzt werden kann

-PxGIE: das Gleiche wie PxIE, nur global...was bedeutet global in diesem 
Zusammenhang?

-PxREN: aktiviiert Pull Up oder Pull down widerstände

Vielen Dank im Voraus. Vllt könnt ihr mir ja auch bei folgendem Problem 
helfen:
Beitrag "MSP430 F5529 Wobbel-Generator"

Grüße

von spess53 (Gast)


Lesenswert?


von Clemens L. (c_l)


Lesenswert?

Meistens korrekt.

PxIN: Was willst du mit einem Pin machen, der als GPIO-Eingang 
konfiguriert ist?

Interrupts werden nur im GPIO-Modus benutzt; interne Hardware-Module 
haben ihre eigenen Interrupt-Funktionen.

PxGIE gibt es nicht. Mit GIE werden alle Interrupts global in der CPU 
(de)aktiviert.

von Antonowan225 (Gast)


Lesenswert?


von Antonowan225 (Gast)


Lesenswert?

Clemens L. schrieb:
> Interrupts werden nur im GPIO-Modus benutzt; interne Hardware-Module
> haben ihre eigenen Interrupt-Funktionen.
>
> PxGIE gibt es nicht. Mit GIE werden alle Interrupts global in der CPU
> (de)aktiviert.

d.h. GIE ermöglich Interrupts auch in den internen Hardware-Modulen?


Ich möchte einen Wobbelgenerator erstellen (siehe: 
Beitrag "Re: MSP 430 F5529")
Dafür würde ich folgende Ports/ Pins verwenden:

Taster_ON/Off P1.1 -> P1Sel = ox00, P1DIr = 0x00, P1OUt =  0x01, P1Ren 
0x01, P1IES = 0x00 , P1IE = 0x01 , P1IFG = 0x00

Taster SET P2.1 (zur Veränderung der Pulsbreite/ Frequenz)-> -> P1Sel = 
ox00, P1DIr = 0x00, P1OUt =  0x01, P1Ren 0x00, P1IES = - , P1IE = 0x00 , 
P1IFG = -

LED 1 (Anzeige On/Off)  P1.0 -> P1Sel = 0x00, P1DIr = 0x01, P1OUt = 
0x00, P1Ren 0x00, P1IES = - , P1IE = 0x00 , P1IFG = -


Ist das so richtig?
Das Ergebnis würde ich mir gerne an einer LED ausgeben lassen und an 
einem PIN zur anzeige auf einem OSzi...Wie könnte ich das realisieren?

von Antonowan225 (Gast)


Lesenswert?

muss ich außerdem die anderen Ports/Pins konfigurieren, denn es heißt 
ja:
alle ungenutzen dinge auf pulldown festlegen

von Clemens L. (c_l)


Lesenswert?

Antonowan225 schrieb:
> Ist das so richtig?

Für P2.1 solltest du besser die P2xxx-Register verwenden.

> Das Ergebnis würde ich mir gerne an einer LED ausgeben lassen und an
> einem PIN zur anzeige auf einem OSzi...Wie könnte ich das realisieren?

Indem du das Oszi an den LED-Pin anschließt. Oder den selben Wert auch 
an einem anderen Pin ausgibst.

> muss ich außerdem die anderen Ports/Pins konfigurieren

Das spart ein bisschen Strom.

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.