This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

ADS1115 把AIN0与AIN1设置成差分输入,当AIN0比AIN1电压高的时候,能正常读出变化,但是AIN1比AIN0电压高的时候,就一直是FFFF

Other Parts Discussed in Thread: ADS1115

ADS1115 把AIN0与AIN1设置成差分输入,当AIN0比AIN1电压高的时候,能正常读出变化,但是AIN1比AIN0电压高的时候,就一直是FFFF,

不管AIN1比AIN0的电压高多少,都是FFFF?是什么原因

  • 你好,

    建议把原理图贴出来,便于分析。

  • AN0 AN1 设置成差分,AN0比AIN1电压高的时候,读出的AD值是正常的

    但是AN1比AN0电压高的时候,无论电压高多少,读出来都是FFFF

  • 我程序Config Register配置寄存器设置如下图所示:


    除了以上设置,还需要设置其他地方嘛?

  • 你好,

    原理图并没有问题。可否确认下以下几个问题

    第一,确认在加入不同电压值时,在ADC输入端测到的电压值和给定电压值一致,可以利用电压表或者万用表检测;

    第二,当AN0比AN1电压高时,读出来的AD值正常是指转换出来的电压值与实际电压值相等吗?

    第三,读出来的码值一直是FFFF,说明是一个接近0的负电压,如果ADC读取数据的程序可用的话,还是着重在硬件上找原因。

  • 第一:是一致的,我拿电压表量在AN端口量过,和输入端

    第二:ADS1115供电是5V   ,使用+-6.144 FGA , 输入AN0=5V左右,AN1=0左右,AD值=26679,计算出来的电压= 5V 是对的,

    第三:正常情况下,AN1比AN0电压高的时,读出的AD值应该是在0xFFFF 到 0x8000 变化,

               现在固定AIN0 给 0V ,AN1给 0V~5V 的之间的电压,读出的AD值永远是0xFFFF, 根本不会变化

              程序上不可能有问题,我在其他端口上轮询单端输入给信号,读出来的数据都是正确的,

             包括把AN0 和 AN1 改成 单端输入,读出都是正常的,

           说明电路有没用问题,

          把AN0 和 AN1 改成 差分模式,就是AN1检测不到,永远是 FFFF

    我还了两片ADS1115还是一样的问题,是不是ADS1115不能实现差分?还是配置上有什么暗设置?