EmbeddedRelated.com
Forums

Analog to Digital Conversion Question (MSP430F1222)

Started by Ender Bozkurt August 31, 2006
Hello,

We are trying to make a low battery indicator using ADC10. However;
the compiler gives an error saying that the ADC control registers
and relevant bits are undefined. We define them in the header file
but the error still exists. When we use "#ifdef", the error
disappears but this time we cannot debug the code. The codes are as
follows:

(In msp430x12x.h)

#define __MSP430_HAS_ADC10__
/* Definition to show that Module is available */

// ADC10CTL0

#define ADC10CTL0 (0x01B0)

#define INCH_11 (0xB000)

#define SREF_1 (0x2000)

#define ADC10SHT_2 (0x1000)

#define REFON (0x0020)

#define ADC10ON (0x0010)

#define ENC (0x0002)

#define ADC10SC (0x0001)

// ADC10CTL1

#define ADC10CTL1 (0x01B2)

#define ADC10BUSY (0x0001)

// ADC10MEM

#define ADC10MEM (0x01B4)

(In main function)

WDTCTL = WDTPW + WDTHOLD; // Stop WDT
// #ifdef __MSP430_HAS_ADC10__

ADC10CTL1 = INCH_11; // AVcc/2

ADC10CTL0 = SREF_1 + ADC10SHT_2 + REFON + ADC10ON;

P1DIR |= 0x01; // Set P1.0 to output direction

for (;;)

{

ADC10CTL0 |= ENC + ADC10SC; // Sampling and conversion start

while (ADC10CTL1 & ADC10BUSY); // ADC10BUSY?

if (ADC10MEM < 0x622) // ADC10MEM = A11 > 1.3?

P1OUT |= 0x01; // Set P1.0 LED on

else

P1OUT &= ~0x01; // Clear P1.0 LED off

}

// #endif /* __MSP430_HAS_ADC10__ */

Errors:

Error[Pe020]: identifier "ADC10CTL1" is undefined O:\3107
MSP_project\slaa302\wm430_system.c 406

Error[Pe020]: identifier "INCH_11" is undefined O:\3107
MSP_project\slaa302\wm430_system.c 406

Error[Pe020]: identifier "ADC10CTL0" is undefined O:\3107
MSP_project\slaa302\wm430_system.c 407

Error[Pe020]: identifier "SREF_1" is undefined O:\3107
MSP_project\slaa302\wm430_system.c 407

Error[Pe020]: identifier "ADC10SHT_2" is undefined O:\3107
MSP_project\slaa302\wm430_system.c 407

Error[Pe020]: identifier "REFON" is undefined O:\3107
MSP_project\slaa302\wm430_system.c 407

Error[Pe020]: identifier "ADC10ON" is undefined O:\3107
MSP_project\slaa302\wm430_system.c 407

Error[Pe020]: identifier "ENC" is undefined O:\3107
MSP_project\slaa302\wm430_system.c 411

Error[Pe020]: identifier "ADC10SC" is undefined O:\3107
MSP_project\slaa302\wm430_system.c 411

Error[Pe020]: identifier "ADC10BUSY" is undefined O:\3107
MSP_project\slaa302\wm430_system.c 412

Error[Pe020]: identifier "ADC10MEM" is undefined O:\3107
MSP_project\slaa302\wm430_system.c 413
I would be very glad if you help me solve this problem.

Thanks and regards,
Ender

Beginning Microcontrollers with the MSP430