“线程: BQSTUDIO, 测试”中讨论的其它部件
你(们)好。
我正在尝试从 BQ28Z610读取序列号。 我发现 Linux 内核主线驱动程序没有这样的选项。 以便修补。 我使用的是以下内容
RET = bq27xxx_read (DI,0x4E,false);
在数据表中,读数格式不被称为块。 所以有点困惑。
——奇怪的野兽
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.
你(们)好。
我正在尝试从 BQ28Z610读取序列号。 我发现 Linux 内核主线驱动程序没有这样的选项。 以便修补。 我使用的是以下内容
RET = bq27xxx_read (DI,0x4E,false);
在数据表中,读数格式不被称为块。 所以有点困惑。
——奇怪的野兽
你好,好奇,
我认为 Linux 驱动程序的读数不是在写入前。 如果您只是尝试读取0x4E,则这将不起作用。
执行此操作的一种方法是将块4E00写入地址0x00,然后在地址00处读取。 使用块读取功能并读取4个字节进行测试。 前2个字节可能是命令本身,特别是在使用地址0x3E 而不是0x00时
这在 TRM 第12.2节0x00,0x01 AltManufacturerAccess()和0x3E,0x3F AltManufacturerAccess()中得到了解释
你好,Shrish,
嗨,Shrish,
你好,斯利什,
是的,您在第一条=0x0001的正确路径上,然后您应该能够读取序列号。
请注意,65545 = 0xFFA5
现在使用 cmd=0x004E 尝试。 这将提供您在数据闪存中编程的序列号。
如果未获得预期结果,请将 ret = bq27xxx_read (DI,BQ27XXXX_REG_CTRL,false)替换为
RET = bq27xxx_read (DI,0x40,false);或 ret = bq27xxx_read (DI,0x3E,false);其中之一应给出正确的结果。
您好,Shirish,
以下是我的结果。
i2ctransfer -f -y 1 W3@0x55 0x3E 0x4E 0x00 & i2ctransfer -f -y 1 W1@0x55 0x3E R4
除此之外,我还得到了 bqstudio 并对设备进行了交叉验证。
感谢您的帮助和指导。