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.