zwjchinayids 发表于 2018-8-9 17:22:58

求助ADS1115 低位读取不了

另外加延时等方法都试了,程序是网上复制的。现在剩下的就不知道是不是他们读寄存器的问题。只用了8位精度。或者电路上有什个么讲究吗?
下面附上相关寄存器代码


1.第一部分 初始化的4个数
   WriteIntBuf = 0x90;                  //0x90
    WriteIntBuf = 0x01;   //0x01
    WriteIntBuf = Chnel;// 写入要配置的通道
    WriteIntBuf = 0x83;      //0xe3 8283

2.第二部分准备读取      IIC1_Send_Byte(0x90);//slave
    while(IIC1_Wait_Ack());
    IIC1_Send_Byte(0x00);
while(IIC1_Wait_Ack());

3.读取问题就在这里低位读取不了
Readbuff= IIC1_Read_Byte(1);//试过ACK和NACK
//试过加延时
    Readbuff= IIC1_Read_Byte(0);



huangyanga 发表于 2018-8-9 19:14:36

读取之前加这一步试试:
IIC1_Send_Byte(0x91);  //slave

feixiang20 发表于 2018-8-10 00:02:05

试改IIC1_Send_Byte(0xA0)看看

zwjchinayids 发表于 2018-8-10 09:39:59

huangyanga 发表于 2018-8-9 19:14
读取之前加这一步试试:
IIC1_Send_Byte(0x91);  //slave

哥们这肯定加了啊   不然高位也不会读粗来的啊

zwjchinayids 发表于 2018-8-10 09:42:33

feixiang20 发表于 2018-8-10 00:02
试改IIC1_Send_Byte(0xA0)看看

谢谢哦试了木有用呢

huangyanga 发表于 2018-8-10 10:15:14

zwjchinayids 发表于 2018-8-10 09:39
哥们这肯定加了啊   不然高位也不会读粗来的啊

读回来的高位是个什么值?

zwjchinayids 发表于 2018-8-10 13:00:28

已经解决了 但有新的疑问了见贴 http://www.openedv.com/thread-276896-1-1.html
页: [1]
查看完整版本: 求助ADS1115 低位读取不了