This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

MSP430F2132: Unable to generate ADC10 conversion complete interrupt

Part Number: MSP430F2132
Other Parts Discussed in Thread: MSP430F1132

Tool/software: Code Composer Studio

Wrote code to cycle through 6 analog channels on a continuous basis. So far unable to get the ADC10 to generate a conversion complete interrupt. Code was borrowed from a similar requirement written for an MSP430F1132 known to work as advertised.

  • GIE? ADC10IE?

    Show us some code and we can make better guesses.
  •   //================================ Setup the ADC10 ================================

      //   These bits select the channel for a single-conversion sequence, beginning with the highest channel.

      //

      //  Analog to Digital Converter (ADC) initialization.

      ADC10CTL1 = 0;  // Shutdown ADC10

      ADC10CTL0 = 0;

      ADC10AE0  |= 0x3F;                             // Set P3.0 and P2.4 through P2.0 pins as inputs to ADC.

      ADC10CTL1  = INCH_5 + ADC10DIV_7 + ADC10SSEL_1 + CONSEQ_1;   // Select maximum channel number in sequence (A5)

      ADC10CTL0  = ADC10SHT_3 + ADC10ON;             // Select Vcc as the positive referance voltage.

      ADC10CTL0 |= (ADC10IE);                 // Start up ADC block conversion state machine.

      ADC10CTL0 |= (ENC + ADC10SC);

      // Fresh start, initialize all the flags.

      ADC_Flags      = 0;            // Clear ADC flags.

      System_Flags   = 0;

    /* -----------------------------------------

     *  NAME: evADC_isr

     *

     *  DESCRIPTION:

     *    Conversion done for the ADC

     *    set variest process flags

     *

     *

     * ------------------------------------------*/

    #pragma vector = ADC10_VECTOR

    __interrupt void evADC_isr(void)

    {

      _DINT();

      ADC_Flags   |= ADC_CC;        // Set conversion complete flag

      ADC10CTL0   &= ~(ADC10IFG);   // Clear ADC conversion complete interrupt flag

      Analog_data  = ADC10MEM;      // Save data from ADC in temporary buffer

      ADC10CTL0   &= ~ADC10SC;      // Start next conversion.

      _EINT();

    }

  • Thanks for the help, EINT just in front of main loop got erased somehow so...

**Attention** This is a public forum