工具/软件:
大家好:
我无法使用 BQ76952进入配置模式、实际上我无法向寄存器写入任何内容。 我完成了各种测试、所有寄存器保持不变。 0x00 Control Status ()命令返回该值"100101000000000"、0x12 Battery Status ()返回该值"1111110010001100"、有时会切换到该值"1100010010000100 "。 我将 ESP32与 I2C 配合使用
我非常感谢您的帮助。 谢谢:)
#include <Wire.h>
// BQ76952 I2C address (7-bit)
#define BQ76952_I2C_ADDR 0x08
void setup() {
Serial.begin(115200);
Wire.begin(21, 22, 400000);
delay(2000);
uint16_t subcmdStatus = readWord(0x00);
Serial.print("Subcommand Status (0x00): ");
Serial.println(subcmdStatus, BIN); /
uint16_t batteryStatus = readWord(0x12);
Serial.print("batteryStatus (0x12): ");
Serial.println(batteryStatus, BIN);
delay(500);
enterConfigUpdateMode();
}
void loop() {
delay(1000);
}
uint16_t readWord(uint8_t reg) {
Wire.beginTransmission(BQ76952_I2C_ADDR);
Wire.write(reg);
Wire.endTransmission(false);
Wire.requestFrom(BQ76952_I2C_ADDR, 2);
if (Wire.available() == 2) {
uint8_t lsb = Wire.read();
uint8_t msb = Wire.read();
return (msb << 8) | lsb;
}
return 0xFFFF;
}
void enterConfigUpdateMode() {
writeSubcommand(0x0090); // ENTER_CFG_UPDATE
delay(100);
// Wait for CFGUPDATE bit to be set in BatteryStatus (0x12), bit 0
bool entered = false;
for (int i = 0; i < 50; i++) {
uint16_t batteryStatus = readWord(0x12);
Serial.print("batteryStatus (0x12): ");
Serial.println(batteryStatus, BIN);
if (batteryStatus & (1 << 0)) {
Serial.println("Entered CONFIG_UPDATE mode.");
entered = true;
break;
}
delay(100);
}
if (!entered) {
Serial.println("Failed to enter CONFIG_UPDATE mode.");
} else {
delay(1000);
writeSubcommand(0x0092); // EXIT_CFG_UPDATE
delay(100);
Serial.println("Exited CONFIG_UPDATE mode.");
delay(1000);
uint16_t batteryStatus = readWord(0x12);
Serial.print("batteryStatus (0x12): ");
Serial.println(batteryStatus, BIN);
}
}
void writeSubcommand(uint16_t command) {
Wire.beginTransmission(0x08); // Correct I2C address (0x08)
Wire.write(0x3E); // Subcommand register (0x00)
Wire.write((byte)command & 0x00FF); // LSB
Wire.write((byte)(command >> 8) & 0x00FF); // MSB
Wire.endTransmission();
delay(10); // Short delay after sending
}
e2e.ti.com/.../1447.SCH_5F00_Schematic1_5F00_2025_2D00_04_2D00_03.pdf