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.
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.
//================================ 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();
}
**Attention** This is a public forum