TM4C123GH6PM有两个ADC模块,每个ADC模块有四个采样序列,每个采样序列又可以设置多个不同的采样通道。采样序列0可设置8个采样通道,采样序列1和2可设置4个采样通道,采样序列3 只能设置1个采样通道。如果使用采样序列0设置多个采样通道分别采样不同的数据,怎么分别把相应的采样结果读出来呢?
ADCSequenceConfigure(ADC0_BASE, 0, ADC_TRIGGER_TIMER, 0);
ADCSequenceStepConfigure(ADC0_BASE, 0, 0, ADC_CTL_CH0);
ADCSequenceStepConfigure(ADC0_BASE, 0, 1, ADC_CTL_CH1);
ADCSequenceStepConfigure(ADC0_BASE, 0, 2, ADC_CTL_CH2|ADC_CTL_END | ADC_CTL_IE );
LiangLiang wang1:
回复 Jafy Chan:
先设置一个数组变量 uint32_t pui32ADC0Value[8];
然后整体读取
//// Read ADC Value.//
ADCSequenceDataGet(ADC0_BASE, 0, pui32ADC0Value);
然后把各通道的采样值分别赋给相应的变量
ADCRESULTIa = pui32ADC0Value[0]; ADCRESULTIb = pui32ADC0Value[1]; ADCRESULTVdc = pui32ADC0Value[2];
是这样吗?
xyz549040622:
回复 LiangLiang wang1:
对的。就是这样的,但是必须记住,pui32ADC0Value的缓存区一定要大于等于你所开通的通道。