hi mark,
i have enabled my interrupt by setting sADC_Config.sSetting.bIntEn = 1; below function takes care of calling NVIC_EnableIRQ() function
void ADC_Init(ADC_Type *pADC, ADC_ConfigTypePtr pADC_Config)
{
if( pADC == ADC)
{
SIM->SCGC |= SIM_SCGC_ADC_MASK;
}
/* set clock cource for ADC */
ADC_SelectClock(pADC,pADC_Config->u8ClockSource);
/* set clock divide */
ADC_SelectClockDivide(pADC,pADC_Config->u8ClockDiv);
/* set ADC mode */
ADC_SetMode(pADC,pADC_Config->u8Mode);
/* set FIFO level */
ADC_SetFifoLevel(pADC,pADC_Config->u8FiFoLevel);
/* set pin control */
pADC->APCTL1 = pADC_Config->u16PinControl;
if( pADC_Config->sSetting.bCompareEn )
{
ADC_CompareEnable(pADC);
}
if( pADC_Config->sSetting.bCompareGreaterEn )
{
ADC_CompareGreaterFunction(pADC);
}
if( pADC_Config->sSetting.bContinuousEn )
{
ADC_ContinuousConversion(pADC);
}
if( pADC_Config->sSetting.bCompareAndEn )
{
ADC_CompareFifoAnd(pADC);
}
if( pADC_Config->sSetting.bFiFoScanModeEn )
{
ADC_FifoScanModeEnable(pADC);
}
if( pADC_Config->sSetting.bHardwareTriggerEn )
{
ADC_SetHardwareTrigger(pADC);
}
if( pADC_Config->sSetting.bIntEn )
{
ADC_IntEnable(pADC);
NVIC_EnableIRQ( ADC0_IRQn );
}
if( pADC_Config->sSetting.bLongSampleEn )
{
ADC_SetLongSample(pADC);
}
if( pADC_Config->sSetting.bLowPowerEn )
{
ADC_SetLowPower(pADC);
}
#if !defined(CPU_KE02)
if( pADC_Config->sSetting.bHTRGMEn )
{
ADC_HardwareTriggerMultiple(pADC);
}
else
{
ADC_HardwareTriggerSingle(pADC);
}
if( pADC_Config->sSetting.bHTRGMASKEn )
{
ADC_HardwareTriggerMaskEnable(pADC);
}
else
{
ADC_HardwareTriggerMaskDisable(pADC);
}
if( pADC_Config->sSetting.bHTRGMASKSEL )
{
ADC_HardwareTriggerMaskAuto(pADC);
}
else
{
ADC_HardwareTriggerMaskNonAuto(pADC);
}
#endif
}