ADS1115用IIc配置完寄存器,指向寄存器。然后读出来的值全是1,也就是65535
时间:10-02
整理:3721RD
点击:
又没有人知道为什么,是不是是我把输入弄错了,还是没配置对,把那个程序弄出来,大家看看void ADS1115Config_A(u8 LCMD,u8 HCMD)//配置寄存器{u8 i=0;u8 Initdata[4];Initdata[0] = WR_REG; // μ?·0x90 ?÷?tADR?óμ? D′?′?÷Initdata[1] = CONF_REG;// μ?·0x01 ??ò??′?÷Initdata[2] = HCMD; // μ?·0x64 ?×??×?úInitdata[3] = LCMD; // μ?·0xf0 ?×?μí×?úSCL_A1;I2CStart_A();for(i=0;i<4;i++){I2CWriteByte_A(Initdata);ADS1115_delay(10);}I2CStop_A();}/*******************************************************************读和指向寄存器********************************************************************/u16 ReadAD_A(void){u16 Data[2]={0,0};SCL_A1;I2CStart_A();I2CWriteByte_A(WR_REG);//指向指向寄存器I2CWriteByte_A(DATA_REG);I2CStop_A();SCL_A0;SCL_A1;I2CStart_A();I2CWriteByte_A(RE_REG);//读Data[0] = I2CReadByte_A();Data[1] = I2CReadByte_A();I2CStop_A();Data[0] = Data[0]<<8 | Data[1];return (Data[0]);//&0x7fff}在主函数中初始化时候ADS1115Config_A(0xf0,0x64);AINP = AIN3 and AINN = GND这个实在芯片手册中弄出来的,不知道什么意思ads1115电路
1看配置,2查延时
调通了,可是现在怎么将寄存器的值,转化成那个电压值呀
量化一下。比如外加1V时AD值时999,3V时是3000,那么AD值是2000是电压是多少啊?
这个好像说就是已经就是明文规定了的,就是寄存器的值*量程除以65535,不过怎么来的也不是很清楚
AD芯片肯定有测量范围,假如一片8位AD,假如最大测量范围o 5V。实际电压=(AD/255)*5
也搞定了,他是内部基准的芯片,16位的嘛,然后就是转换就是4.096*2/65535,其中要不要多去几次平均滤波呀
能告诉我怎么调通的么 ,我也遇到了这个问题了
关键是你要把那个IIC信号给对,那样以后你就可以直接从那个数据寄存器里面读数据了
请教您一个问题,跟你遇到的问题一样,如果只按手册上的配置输出的是7ffff啊,不知道怎么做了,后来你怎么做的?
请教您一个问题,跟你遇到的问题一样,如果只按手册上的配置输出的是7ffff啊,不知道怎么做了,后来你怎么做的?
iic 出了问题。解决了
能否分享一下程序我调了好几天就是不好使
请问你是怎么解决的我也是全部都是1
这个芯片 不难,你看看 寄存器 是不是配置错误了,然后再看看代码是不是错误。 网上有现成的程序,比对一下那里出现了问题