www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik MSP430 F2013 merkwürdiges Verhalten


Autor: Bernd N (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

ich habe ein merkwürdiges Phänomen mit einem MSP430F2013. Die 
Beschaltung sieht folgendermaßen aus:

                      MSP430f2013
                    --------------
          +3,5V  --|DVCC       GND|-- DVSS
       rote LED  --|P1.0      P2.6|-- Enable
            TXD  --|P1.1      P2.7|-- Data
            RXD  --|P1.2      TEST|-- TEST/SBWTCK
         Taster  --|P1.3     RESET|-- RST/NMI/SBWTDIO
        ADC_IN+  --|P1.4      P1.7|-- Clock
  (GND) ADC_IN-  --|P1.5      P1.6|-- grüne LED
                    --------------

Nun zum Phänomen, an RXD wird ein Interrupt ausgelöst und der Eingang 
ist entsprechend konfiguriert. Wenn ich nun den ADC konfiguriere 
(INCH_2) dann löst der Interrupt an RXD nicht mehr aus. Kommentiere ich 
die Zeile SD16AE = SD16AE2 aus dann funktioniert der Interrupt 
einwandfrei.

Was hat bitteschön der INCH_2 an P1.4, P1.5 mit dem Interrupt an P1.2 am 
Hut ???

Auszug Initialisierung:

    P1IES |= RXD;                                 // RXD hi/low edge interrupt
    P1IFG &= ~ RXD;                               // clear RXD (flag) before enabling interrupt
    P1IE |= RXD;                                  // enable RXD interrupt
    P1OUT &= ~ LED1 + LED2;                       // LED's Off
    P2SEL &= ~ Clock + Data;                      // P2.6, P2.7 as IO
    P2DIR |= Clock + Data;                        // Clock, Data als Ausgang setzen

    SD16_A = 0x61;                                // center 1,2V temp. drift 50ppm/K (Errata, ADC)
    SD16CTL = SD16REFON + SD16SSEL_1 + SD16DIV_0; // VREF=1.2V, fM=SMCLK (SD16CTL=REF+Clocksource)
    SD16INCTL0 = SD16INCH_2;                      // ADC Input is (SD16INCH_2)
    SD16CCTL0 = SD16UNI + SD16OSR_1024;           // OSR=1024, unipolar
//    SD16AE = SD16AE2;                             // P1.4 A2+, P1.5 A2- = GND, enable analog Input

Vielen Dank für die Hilfe.

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit SD16AE = SD16AE2 wählst du Port P1.2 als ADC Eingang aus.
Für SD16INCH_2 müsstest du aber P1.4 und P1.5 aktivieren:
SD16AE = SD16AE4 + SD16AE4;

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sorry, Tippfehler in der letzten Zeile.
Zweimal SD16AE4 ist natürlich falsch. Richtig:
SD16AE = SD16AE4 + SD16AE5;

Autor: Bernd N (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Erst einmal vielen Dank, kanns im Moment nicht testen... das wäre der 
Hammer denn wenn ich mit der Konfiguration messe, dann bekomme ich 
korrekte Meßwerte am Eingang.

Kannst Du mir bitte sagen wo du diese Zuordnung im DB gefunden hast ?

Vielen Dank noch mal.

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Zuordnung ist im Datenblatt im Abschnitt "APPLICATION INFORMATION, 
MSP430x20x3" auf den Seiten "Port P1 (P1.0 to P1.3) pin functions, 
MSP430x20x3" und "Port P1 (P1.4 to P1.7) pin functions, MSP430x20x3" zu 
finden.

Die ADC Eingänge werden über den ausgewählten ADC Kanal bestimmt, mit 
den SD16AE.x Bits werden die Ausgangstreiber bzw. Eingangschaltungen 
abgeschaltet:
3. Setting the SD16AE.x bit disables the output driver as well as the 
input schmitt trigger to prevent parasitic cross currents when
applying analog signals.

Statt P1.5 mit GND zu verbinden könntest du auch einfach nur das Bit für 
P1.4 setzen und das für P1.5 auf 0 lassen:
4. With SD16AE.x = 0 the negative inputs are connected to VSS if the 
corresponding input is selected.

Autor: Bernd N (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Stefan,

nochmals vielen Dank für deine Hilfe. Irgendwie habe ich die Seiten 
völlig übersehen :-)

Danke dafür.

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.