您好!
在F28M35H52C1数据手册中,有20个通道,
ADC1 10个 : ADC1INA0 ADC1INA2 ADC1INA3 ADC1INA4 ADC1INA6 ADC1INA7 ADC1INB0 ADC1INB3 ADC1INB4 ADC1INB7
ADC2 10个 :ADC2INA0 ADC2INA2 ADC2INA3 ADC2INA4 ADC2INA6 ADC2INA7 ADC2INB0 ADC2INB3 ADC2INB4 ADC2INB7
问题1:若需要全部同时采样20个通道,是不是在ADC1中配置10个通道?ADC2中配置10个通道?
问题2: 若读取数据时,是不是可在 interrupt void adc1_isr( void ) 中断函数中直接读这20个数据吗? 希望回复下,谢谢!
int Voltage1[10]={0};
int Voltage2[10]={0};
interrupt void adc1_isr( void )
{
Adc_Read_Results(Voltage1,Voltage2,10)
Adc1Regs.ADCINTFLGCLR.bit.ADCINT1 = 1; //Clear ADCINT1 flag reinitialize
PieCtrlRegs.PIEACK.all = PIEACK_GROUP1; // Acknowledge interrupt to PIE
}
void Adc_Read_Results( unsigned int * Adc1,unsigned int * Adc2, Uint16 Num) //Num=10
{ Uint16 i;
for(i=0;i<Num;i++)
{ *( Adc1 +i)= *(&Adc1Result.ADCRESULT0+i);
*( Adc2 +i)= *(&Adc2Result.ADCRESULT0+i);
}
}