折腾了很久,这电压表才做出来.
就是测量板子上带的电位器的输出电压
/* Set the ADC channel */
DrvADC_SetADCChannel(0x02); //0000 0010 ,adc1
/* start A/D conversion */
DrvADC_StartConvert();
while(DrvADC_IsConversionDone()==FALSE); //等采集完成
i32ConversionData=DrvADC_GetConversionData(1); //先读取一次adc1
i32ConversionData=0; //清0
for (i=0;i<64;i++) //64次采集出一个读数
{
/* Wait conversion done */
while(DrvADC_IsConversionDone()==FALSE);
//读取ADC1并累加
i32ConversionData = i32ConversionData + DrvADC_GetConversionData(1);
}
红色的两行走了好多弯路.
设定输入通道时按8位二进制,要的通道定为1
读数据时每次读一个通道,依次为0-7
连续采样64次,求平均值,发现数据还不是很稳定
还有问题就是第一次采集来的64个数据,平均值总是比后来大.
不知为什么
|