www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik MSP430 Multiplexing GPIO und SPI


Important announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: Johannes (Gast)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Hallo,

ich verwende den MSP430F2013 und habe dort folgendes Problem:

Am Port P1.6 hängt einerseits der SPI (MOSI) und zusätzlich soll es als 
GPIO verwendet werden (HIGH-> ADC auslesen -> Low).

Nur leider funktioniert das mit dem High nicht.
P1SEL &= ~BIT6;
P1DIR |= BIT6;
P1OUT |= BIT6;

Damit versuche ich das "Beinchen zu heben". Laut Debugger sind die 
Register auch richtig gesetzt. Nur sehe ich am Ausgang kein HIGH.

Muss ich noch etwas anderes einstellen?

Schönen Gruß,
Johannes

Autor: LuXXuS 909 (aichn)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
P1SEL ist hier mal nicht ausschlaggebend für die Funktion des Pins. Die 
USI-Register sind dominant. Ist der Pin hier als MOSI gesetzt, ist P1SEL 
don't care.

Du musst also im USICTL0 USIPE6 aus dem Register nehmen (USICTL0 &= 
~USIPE6), dann ist der Pin wieder frei. Hierfür solltest du zusätzlich 
den USI in den Reset-State setzen, da keine Änderungen am Register 
vorgenommen werden sollten (außer USICNT und USISR natürlich), solange 
der USI aktiv ist.

Gruß, LuXXuS

Autor: Johannes (Gast)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Gut, ich habe den Fehler gefunden:

Ich muss noch den Port 6 von USICTL0 auf Low schalten:

USICTL0 &= ~USIPE6;

Autor: LuXXuS 909 (aichn)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Johannes schrieb:
> Port 6

Pin ;-)

Nur falls du auch noch Port 2 benutzen willst: Hier ist es ähnlich - 
wenn du z.B. den Timer benutzen möchtest, dann geht das über P2SEL 
erstmal nicht, da Port 2 für den Quarz reserviert ist. Hier muss im 
Register der Quarz deaktiviert werden. Als GPIO kannst du ihn jedoch 
verwenden.

Weiß nicht, wieso das so gelöst ist, aber naja...

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




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 erkennst du die Nutzungsbedingungen an.

webmaster@mikrocontroller.netImpressumNutzungsbedingungenWerbung auf Mikrocontroller.net