Pins ein und ausschalten

Gast #158308
Lesenswert?

Ich moechte einzelne Pins des MSP430F169 ansprechen.
Konkret in dem c-code:
wenn an pin 1.1 keine Spannung anliegt (low) soll pin 2.1 Spanung
fuehren (high)
wenn an pin 1.1 Spannung anliegt (high) soll an pin 2.1 keine Spannung
anliegen (low)

Wie realisiere ich das?????
Hauptproblem ist wie ich den einzelnen Pins Werte zuweise, also 0 oder
1.

Gibts da evtl. eine Beschreibung von TI? Hab mir naemlich schon viele
Daten zum MSP430 durchgelesen, werd aber daraus nicht schlau.

Danke
Angehängte Dateien:
Gast #158309
Lesenswert?

ich weis nicht genau wie das bei dir funktioniert, aber bei meinen µC(
und Compiler) funktioniert es mit:

sbit P11 = P1 ^ 1;
sbit P21 = P2 ^ 1;
main()
{
while(1)
{
 if (P11==0)
 {
  P21 = 1;
 }
 else if (P11==1)
 {
  P21 = 0;
 }
}
}

hm..

oda vl haut es auch mit folgendem hin, falls das so gewünscht ist

void main()
while(1)
{
P21 != P11;
}
aber für solche sachen könntest du ja auch einen logikbaustein
(NICHT)hernehmen, wenn das die einzige funktion ist
mfg schoasch
Gast #158312
Lesenswert?

merci, werd ich gleich mal versuchen.
sbit.... ?????

ich habs jetzt mal so realisiert (neuer c-code).
Nur reagiert pin 2.0 anstatt pin 2.1.

Ich arbeite mit IAR Embedded Workbench (war beim Starterkit dabei).

Nein, ich will nicht nur ein logic Gatter realisieren. Mein Ziel ist es
einen Lichtsensor ueber I2C anzusprechen, die Daten mim MSP430
auszuwerten und dann z.B. eine Led zu dimmen.

Es hapert nur an der Hardwareansprechung (Pins) und daher will ich
erstmal einfache Programme schreiben um das zu verstehen.
Angehängte Dateien:
Gast #158315
Lesenswert?

Bin mitlerweile soweit, dass ich das 0x01 aus dem code:
if ((P1IN & BIT1) == 0)            // Abfrage Pin 1.1 = 0
          (P2OUT = 0x01);               // setze Pin 2.1 auf 1 (high)
durch BIT0 ersetxen kann.
BIT1 spricht folglich Pin 2.1 an.
BIT2 Pin 2.2 usw...
endlich kann ich die pins ansprechen probieren hilft halt doch ab und
zu.
Jetzt brauch ich aber nen Taktgeber, welchen ich dann ueber einen Pin
ausgebe, der mir wahlweise 20khZ oder 40kHz Takt vorgibt.
Geht das irgendwie ueber nen internen Taktgeber vom MSP430????

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