AD7689
大家好,有用过AD7689 的吗?我用硬件SPI,外部基准5V,不管设置外部还是内部基准,输出基准都是2.5V(输入0-2.5V,输出0-5V,输入0-5V,输出0-5V),寄存器配置是送进去了,因为变换通道和输入电压,改输入方式,结果都会变化,但是输出的结果总是以2.5V为基准的,望各位大侠帮忙分析下原因~~ 不知道楼主弄得怎么样了,我一朋友最近也在折腾这玩意好几天没折腾出来,能否分享下经验,呵呵 跨年度问题,我也遇到了和LZ同样的问题。。。 //---------------------------外部16位ADC初始化-----------------------void ADC16_INIT(void)
{
unsigned char a;
unsignedint adc16_CFG=0xfbdc;//自动扫描0--5通道,外部基准,单极性,GND参考点0xfbdc 6通道 0xf5dc 三通道;0xf3dc 二通道; 0xf1dc 1通道;
unsignedint b;
ADC16_CNV=1;
ADC16_DIN=1;
ADC16_SCK=0;
ADC16_SDO=1;
ADC16_CNV=0;
delay(2);
ADC16_CNV=1;
delay(3);
ADC16_CNV=0;
delay(1);
for(a=16;a>0;a--)
{
b=adc16_CFG & 0x8000;
adc16_CFG<<=1;
if(b)
{ ADC16_DIN=1;}
else
{ ADC16_DIN=0;}
ADC16_SCK=0; //
delay(1);
ADC16_SCK=1; //上升沿写入CFG
delay(1);
}
ADC16_DIN=0; //禁止再次配置CFG
// for(a=0;a<2;a++) //转换1次哑转换
{
ADC16_CNV=0;
delay(1);
ADC16_CNV=1;
delay(3);
ADC16_CNV=0;
delay(1);
for(b=0;b<16;b++) //下降沿输出数据
{
ADC16_SCK=1;
delay(1);
ADC16_SCK=0;
delay(1);
}
}
ADC16_SCK=0;
} 上面是我的初始化代码,配置CFG寄存器,请高手看看,关于基准电压的机关在哪里??
页:
[1]