MSP430 F2013 merkwürdiges Verhalten

Gast #1925346
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:
1
    P1IES |= RXD;                                 // RXD hi/low edge interrupt
2
    P1IFG &= ~ RXD;                               // clear RXD (flag) before enabling interrupt
3
    P1IE |= RXD;                                  // enable RXD interrupt
4
    P1OUT &= ~ LED1 + LED2;                       // LED's Off
5
    P2SEL &= ~ Clock + Data;                      // P2.6, P2.7 as IO
6
    P2DIR |= Clock + Data;                        // Clock, Data als Ausgang setzen
7

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

Vielen Dank für die Hilfe.
Gast #1925585
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.
Gast #1925667
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.

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