你还,请问下开启满量程校准后,再进行通道转换,通道ADC转换值一直为0xFFFFFF, 屏蔽满量程校准程序后,通道的ADC转换值会随着输入变化而变化,这是为何,谢谢!
buf[0] = 0x10;
书写 toad7190(1, buf);
buf[2] = 0x90;
buf[1] = 0x02;
buf[0] = 0x48;
WriteToAD7190( 3, buf); // REF 选择 REFIN2, single, GAIN=1, AIN3, AIN4
_nop_ () ;
_nop_ () ;
//满量程校准
buf[0] = 0x08;
书写 toad7190(1, buf);
buf[2] = 0xFC;
buf[1] = 0x03;
buf[0] = 0xFF;
写数7190( 3, buf);
_nop_ () ;
_nop_ () ;
(dout) 时
{
_nop_ () ;
_nop_ () ;
}
_nop_ () ;
_nop_ () ;
延迟( 0xff ) ;
_nop_ () ;
//开始通道数据转换
buf[0] = 0x08;
WriteToAD7190( 1, buf); // write
通信登记簿 0x08 以控制写入模式登记簿的进度
buf[2] = 0x38;
buf[1] = 0x03;
buf[0] = 0xFF;
WriteToAD7190( 3, buf); // write 模式注册、 内部 4. 92MHz 钟、 输出数据率= 4. 7Hz
_nop_ () ;
_nop_ () ;
(dout) 时
{
_nop_ () ;
_nop_ () ;
}
_nop_ () ;
_nop_ () ;
buf[0] = 0x58; // 读数据
WriteToAD7190( 1, buf); // write 通信登记簿 0x58 以控制读取数据登记册的进展
_nop_ () ;
_nop_ () ;
读自AFSAD7190( 4, buf);
延迟( 0xff ) ;
_nop_ () ;
_nop_ () ;