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.

AD开中断没有触发就进入了中断

 

void AD0IntHandler(void)
{
  ADCSequenceDataGet(ADC0_BASE, 3, ulADC0_Value); 
   ADCIntClear(ADC0_BASE, 3);  
}
 
void main(void)
{
SysCtlPeripheralEnable(SYSCTL_PERIPH_ADC0);
GPIOPinTypeADC(GPIO_PORTD_BASE, GPIO_PIN_2);
SysCtlADCSpeedSet(SYSCTL_ADCSPEED_1MSPS);
ADCReferenceSet(ADC0_BASE,ADC_REF_INT);
ADCSequenceConfigure(ADC0_BASE,3,ADC_TRIGGER_TIMER ,0);// ADC_TRIGGER_TIMER
ADCSequenceStepConfigure(ADC0_BASE,3,0, ADC_CTL_CH5|ADC_CTL_IE|ADC_CTL_END);
  ADCSequenceEnable(ADC0_BASE,3);
ADCIntClear(ADC0_BASE,3);
ADCIntEnable(ADC0_BASE,3);
ADCHardwareOversampleConfigure(ADC0_BASE,1);
 IntEnable(INT_ADC0SS3);
IntMasterEnable();
while(1)
{}
}

以上为代码,程序开始运行后,我没有触发采样,但是会不断进入AD中断,
请TI的大神指导指导,谢谢!

 
  • 你进的ADC中断处理是假像。你的ADC对应的端口PORTD未使能。

    在GPIOPinTypeADC(GPIO_PORTD_BASE,GPIO_PIN_2)

    语句之前增加如下语句:

     SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOD);