工具/软件:
大家好:
我无法使用 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