如果使用CSDADC中的ADC功能对Port_0_2口输入的模拟量进行AD转换,Port_0_2口的select,driver和Interrupt参数应该如何选择?
AD转换的分辨率是不是6位的?
对Port_0_2,Port_0_4,Port_0_6三路数据进行AD转换,下面AD转换部分的程序这样写对不对?RefValue选的是Vdd/2+_Vdd/2
while(1)
{
......
CSDADC_Start();
CSDADC_EnableADC(CSDADC_ABSOLUTE);
CSDADC_EnableInput(0x04, 0x00); // use P0[2]
CSDADC_StartADC();
while (0 == CSDADC_fIsDataAvailable());
xResult = CSDADC_wGetDataClearFlag();
CSDADC_StopADC();
CSDADC_DisableInput(0x04, 0x02);
CSDADC_EnableInput(0x10, 0x00); // use P0[4]
CSDADC_StartADC();
while (0 == CSDADC_fIsDataAvailable());
yResult = CSDADC_wGetDataClearFlag();
CSDADC_StopADC();
CSDADC_DisableInput(0x10, 0x00);
CSDADC_EnableInput(0x40, 0x00); // use P0[6]
CSDADC_StartADC();
while (0 == CSDADC_fIsDataAvailable());
zResult = CSDADC_wGetDataClearFlag();
CSDADC_StopADC();
CSDADC_DisableInput(0x40, 0x00);
.....
}
|