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.

[参考译文] BQ25756:I2C

Guru**** 2496495 points
Other Parts Discussed in Thread: BQ25750

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1475752/bq25756-i2c

器件型号:BQ25756
主题中讨论的其他器件:BQ25750

工具与软件:

你好

Im 尝试使用 Arduino 从 I2C 寄存器读取默认设置的充电电流。

这是我的代码:

//包括线库
#include
uint16_t 数据;

void setup(){
Serial.begin(9600);//开始序列化
Wire.begin();//初始化 I2C
}

void loop(){

//读数
Wire.beginTransmission(0x6B);
wire.write (0x2)
Wire.endTransmission ();
wire.requestFrom (0x6B、2、true)

//读取这两个字节并将它们组合成一个16位值
Data =(Wire.Read ()| Wire.Read ()<< 8)& 0b0000011111111100//屏蔽以保持位2-10

//输出结果(二进制和十进制)
serial.println (data、bin)//打印二进制值
serial.println (data)//打印十进制值

}

我的输出是:

二进制:  

11001000000 

十进制:
1600 

我认为这是不对的? 我认为登记册应设为400 (十进制)?

谢谢。

Silvan

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Silvan、

    是的、这是正确的。 寄存器0x02的缺省值为0x640。 这意味着 ICHG_REG 为0x190或20A。

    顺便说一下、我们针对 BQ25750提供该驱动程序、可能会有所帮助。 文件:BQ25750_Free1007.zip Os_Driver

    此致、
    埃森·加洛韦

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Ethan

    但为什么默认值不是0x190、我的意思是这个0x640只是一个随机数、以显示电流最大值?  

    我从来没有使用过这样的驱动程序、我可以用它做什么?  

    谢谢

    Silvan  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Silvan、

    [报价 userid="634300" url="~/support/power-management-group/power-management/f/power-management-forum/1475752/bq25756-i2c/5666738 #5666738"]但为什么默认值不是0x190、我是说这个0x640只是一个随机数、用来表示当前最多是多少?  [报价]

    可以通过两种不同的方式来查看寄存器。 如果我们查看下面数据表中的寄存器映射:

    我们可以看到、顶部和底部的2位是保留的、始终为0。

    0x190是读取整个寄存器时得到的值。 0x640是仅读取 ICHG 寄存器位时将获得的值。

    如果您对此有任何问题、请告诉我。

    此外、对于驱动程序、您可以编译驱动程序、然后将驱动程序上传到兼容的微控制器中。 您也可以使用该驱动程序的复制和粘贴部分用于自己的代码。

    此致、
    埃森·加洛韦