MSP430 ADC nur an bestimmten Ports ?

OP #3652427
Lesenswert?

Hallo.

Ich habe jetzt sehr viel gelesen über die ADC im MSP430.

Es ist mir auch gelungen am P1.3 ein Analoges Signal auszuwerten, jedoch 
scheitere ich daran das Signal über den P1.7 auszuwerten.

Habe ich da was übersehen/überlesen ?
Ich benutze gerade einen MSP430G2553.

Hier mal der Code der das Signal am P1.7 lesen sollte:
1
#include  "msp430g2553.h"
2

3
unsigned int ADC_value=0;
4
float Voltage = 0;
5
float band = 3.5/1024;
6
float correction_factor = 1.08545;
7

8
void ConfigureAdc(void);
9

10
void main(void)
11
{
12
  {
13
    WDTCTL = WDTPW + WDTHOLD;    // Stop WDT
14
    BCSCTL1 = CALBC1_1MHZ;      // Set range   DCOCTL = CALDCO_1MHZ;
15
    BCSCTL2 &= ~(DIVS_3);      // SMCLK = DCO = 1MHz
16
    P1SEL |= BIT8;          // ADC input pin P1.7
17
    ConfigureAdc();          // ADC set-up function call
18
    __enable_interrupt();      // Enable interrupts.
19

20

21
    while(1)
22
    {
23
      __delay_cycles(1000);        // Wait for ADC Ref to settle
24
      ADC10CTL0 |= ENC + ADC10SC;      // Sampling and conversion start
25
      __bis_SR_register(CPUOFF + GIE);  // Low Power Mode 0 with interrupts enabled
26
      ADC_value = ADC10MEM;        // Assigns the value held in ADC10MEM to the integer called ADC_value
27
      Voltage = (ADC_value * band)*correction_factor;      //Converting in Volt
28

29

30
    }
31

32

33
  }
34
}
35

36
// ADC10 interrupt service routine
37
#pragma vector=ADC10_VECTOR
38
__interrupt void ADC10_ISR (void)
39
{
40
  __bic_SR_register_on_exit(CPUOFF);        // Return to active mode }
41
}
42

43
// Function containing ADC set-up
44
void ConfigureAdc(void)
45
{
46

47
  ADC10CTL1 = INCH_3+ ADC10DIV_3 ;         // Channel 3, ADC10CLK/3
48
  ADC10CTL0 = SREF_0 + ADC10SHT_3 + ADC10ON + ADC10IE;  // Vcc & Vss as reference, Sample and hold for 64 Clock cycles, ADC on, ADC interrupt enable
49
  ADC10AE0 |= BIT8;                         // ADC input enable P1.7
50
}

Freue mich schon über eure Hilfe
Danke

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