Pins ein und ausschalten

Gast #158308
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
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
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
@schoaschi:
Dein code hat sich erledigt wollte ihn grad compilen und der gibt mir
ein haufen Fehler aus.
"sbit" is undefined
"P1" is undefined
dasselbe auch mit pin 2
usw....
Gast
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

Eine eigene Frage? Dieser Thread ist über 21 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.