I have two ADC channels A1 and A2 triggered by CPU Timer0 interrupt every 826us
I have also set EOC2 to trigger ADCINT1 for SOC conversion
AdcRegs.INTSEL1N2.bit.INT1E = 1; //Enabled ADCINT1
AdcRegs.INTSEL1N2.bit.INT1CONT = 0; //Disable ADCINT1 Continuous mode
AdcRegs.INTSEL1N2.bit.INT1SEL = 2; //setup EOC2 to trigger ADCINT1 to fire
AdcRegs.ADCSOC1CTL.bit.CHSEL = 1; AdcRegs.ADCSOC2CTL.bit.CHSEL = 2;
AdcRegs.ADCSOC1CTL.bit.TRIGSEL = 1; AdcRegs.ADCSOC2CTL.bit.TRIGSEL = 1;
PieVectTable.TINT0 = &adc_isr;
__interrupt void adc_isr(void)
{
Voltage2 = AdcResult.ADCRESULT2;
Voltage1[ConversionCount] = AdcResult.ADCRESULT1;
AdcRegs.ADCINTFLGCLR.bit.ADCINT1 = 1; //Clear TINT0 flag reinitialize for next SOC
PieCtrlRegs.PIEACK.all = PIEACK_GROUP1; // Acknowledge interrupt to PIE
return;
}
Can anyone confirm if this is the right way to do?
Are there any other registers I need to set?
Thanks in advance
Sandhya