主题中讨论的其他器件:BQ76942、 BQ76952
尊敬的 TI 论坛团队:
目前我正在使用 TI BQ76942 EVM 板。 我 通过 I2C 协议将此(BQ76942 EVM)器件与 Renesas RL78/F13 (R5F10BGE) LQFP-48引脚微控制器进行通信
现在、我可以与该器件与我们 的 RL78/F13 (R5F10BGE)微控制器进行通信。
我还可以读取/写入以下参数:-
1:电池电压读数完成。
2.电池电流读数已完成。
3.已完成制造地址读取。
4.设备 ID 读取完成。
5.读/写使能保护 A:已完成。
6.能够打开/关闭充电/放电 MOSFET。
我的问题:-这些以上活动使用我们的源代码顺利完成。 但是、当我尝试启用"REG0配置启用"和"REG12配置启用"寄存器时
使用相同的源代码和命令序列与 BQ76942数据表中提到的启用两个寄存器的操作相同、尽管我没有能力启用 REG1和 REG2寄存器以获取该引脚上的电压、但我们也这样做、原因是什么?
REG0配置使能命令及其通过 I2C 协议发送的序列
//--REG0配置启用:地址=0x921B,数据=0x01 (REG0_EN 位=1) [RSVD_0| RSVD_0| RSVD_0| RSVD_0| RSVD_0| RSVD_0| RSVD_0| RSVD_0| RSVD_0| RSVD_0| REG0_EN]
TXbuff [0]= 0x3E;
TXbuff [1]=0x1B;
TXbuff [2]=0x92;
TXbuff [3]=0x01;//(REG0_EN 位=1
//--Command Sending Sequence over I2C
StartCondition ();/*开始条件*/
RET=字节写入(0x10);
RET=字节写入(TXbuff [0]);
RET=字节写入(TXbuff [1]);
RET=字节写入(TXbuff [2]);
RET=字节写入(TXbuff [3]);
StopCondition();
REG12配置使能命令及其通过 I2C 协议发送的序列
//--REG12配置使能= 3.3V、地址=0x921A、数据=0xDD [REG2V_2| REG2V_1| REG2V_0| REG2_EN| REG1V_2| REG1V_1| REG1V_0| REG1_EN]
TXbuff [4]=0x3E;
TXbuff [5]= 0x1A;
TXbuff [6]= 0x92;
TXbuff[7]= 0xDD;
StartCondition();
RET=字节写入(0x10);
RET=字节写入(TXbuff [4]);
RET=字节写入(TXbuff [5]);
RET=字节写入(TXbuff [6]);
RET=字节写入(TXbuff [7]);
StopCondition();
结果:-当我发送上述命令及其序列、但 REG1和 REG2未启用时(即、我们在此引脚上不会获得电压)。
注:-1. 我们的源代码适用于其他参数读取/写入。
2.我对命令及其顺序有疑问,所以请告诉我哪里出错了?
或者、我应该如何在 EVL 板上的 REG1和 REG2引脚上生成/调用电压?
请参阅通过逻辑分析仪捕捉的数据:- 1. 捕获 REG0配置使能数据
捕获 REG12配置使能数据
///--------------------------------------------------------- //--REG0配置启用:地址=0x921B,数据=0x01 (REG0_EN 位=1)[RSVD_0| RSVD_0| RSVD_0| RSVD_0| RSVD_0| RSVD_0| RSVD_0| RSVD_0| RSVD_0| RSVD_0| REG0_EN] TXbuff[0]=0x3E; TXbuff[1]=0x1B; TXbuff[2]=0x92; TXbuff[3]=0x01; //--REG12配置使能= 3.3V、地址=0x921A、数据=0xDD [REG2V_1TXG2V_1|REG2V|REG2V=0x2V|REG1|REG1|REG2V|REG2V||REG2V|REG2V|0|[TXG1|REG2V||REG1|REG1|REG2V||REG1|REG2V||REG|REG2V|REG|REG1|REG|REG2V||REG1| StartConret ();//开始条件*/ ret=ByteWrite (0x10); ret=ByteWrite (TXbu[0]); ret=ByteWrite (TXbuff [1]); ret=ByteWrite (TXbuff [2]);buff =ByteWrite (TXbuff [3]); StopCondition (); delay (80000);delay (80000); StartCondition (); ret=ByteWrite (0x10); ret=ByteWrite (TXbuff [4]); RET=字节写入(TXbuff [5]); RET=字节写入(TXbuff [6]); RET=字节写入(TXbuff [7]); StopCondition (); 延迟(80000);延迟(80000); }//-----------------

