我尝试用M4的内部ADC进行两路数据采集,将采集到的数据放到一个数组中,但发现两路采集到的数据在放置到数组中时好像毫无规律,两路数据完全混到一起。是不是我哪里配置的有问题,希望好心人解答下~~~~~~
void ADCInit(void)
{
SysCtlPeripheralEnable(SYSCTL_PERIPH_ADC0);
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOE);
GPIOPinTypeADC(GPIO_PORTE_BASE,GPIO_PIN_3|GPIO_PIN_2);
ADCReferenceSet(ADC0_BASE,ADC_REF_INT);
ADCSequenceConfigure(ADC0_BASE,SEQ_NUM,ADC_TRIGGER_ALWAYS,0);//SEQ_NUM宏定义为2
ADCSequenceStepConfigure(ADC0_BASE,SEQ_NUM,0,ADC_CTL_CH0);
ADCSequenceStepConfigure(ADC0_BASE,SEQ_NUM,1,ADC_CTL_CH1 | ADC_CTL_IE | ADC_CTL_END );
ADCSequenceEnable(ADC0_BASE, SEQ_NUM);
ADCIntRegister(ADC0_BASE,SEQ_NUM,ADC0IntHander);
ADCIntClear(ADC0_BASE,SEQ_NUM);
ADCIntEnable(ADC0_BASE,SEQ_NUM);
}
下面是ADC中断函数:
void ADC0IntHander(void)
{
uint32_t temp[8]={0};
ADCSequenceDataGet(ADC0_BASE,SEQ_NUM,temp);
ADCIntClear(ADC0_BASE,SEQ_NUM);//这里设置断点
}
我在PB3(AIN0)加的是1.5VDc,PB2(AIN1)接地
下面是几次运行至断点的数组内容:



