请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:BQ25703A 主题中讨论的其他器件: BQ25703
您好!
我设计了一个使用 BQ25703A 的示例板、问题是我可以读取和写入每个寄存器、但当我尝试写入这些命令时、
ChargeCurrent、MinSystemVoltage、
BQ25703A 似乎复位且不接受命令。
此外、当电池组断开连接时、ChargeOption0命令将生效、但当我连接电池组时、它不会获得相应的值。
这是我的代码的一些部分
INT 状态; //ChargeOption3将所有寄存器重置为默认 BQ25703WriteReg (0x34、0x6000); //ChargeOp0 BQ25703WriteReg (0、0x060E); STATUS=BQ25703ReadReg (0x0); //ChargeOpTION1 BQ25703WriteReg (0x30、0x3011 );BQ25703ReadReg (0x30、0x3011); //WriteOption2 BQ25703WriteReg (0x32 0x02BF); STATUS=BQ25703ReadReg (0x32); //ChargeOpion3 BQ25703WriteReg (0x34、0x0000); STATUS=BQ25703ReadReg (0x34); //ProchotOption0 BQ25703ReadReg (0x36、0x54); STATUS=BQ25703ReadReg (0x36); //ProchotOption1 BQ25703WriteReg (0x38、0x1000); STATUS=BQ25703ReadReg (0x38); //ADCOption BQ25703WriteReg (0x3A、0xE0FF); STATUS=BQ25703ReadReg (0x3A); // MaxCurrent Voltage BQ25703WriteReg (0x04、0x41A0); status=BQ25703ReadReg (0x04); // ChargeCurrent @1A BQ25703WriteReg (0x02、0x0400); status=BQ25703ReadReg (0x02); // MinSystemVoltage @0x703C 、0x703ReadReg (0x703C);0x703ReadReg (0x70314.3C) STATUS=BQ25703ReadReg (0x0C); //IIN_HOST @1A BQ25703WriteReg (0x0E、0x1400); STATUS=BQ25703ReadReg (0x0E); //输入电压@8.192 BQ25703ReadeReg (0x0A、0x2000);STATUS=BQ25703ReadReg (0x0A); //OTGVoltage @12.67V BQ25703WriteReg (0x06、0x2000); STATUS=BQ25703ReadReg (0x06); //OTGCurrent @1.6A BQ25703WriteReg (0x08、0x2000); STATUS=BQ25703ReadReg (0x08);
读取和写入函数
void BQ25703WriteReg (int add、int data) { static HAL_StatusTypeDef myST; unsigned char write_message[3]; write_message[0]= add; write_message[1]= data; write_message[2]= data>8; mySTs=HAL_I2C_Master_transmit (&hi2c1、BQ25703_ADD、WRITE_message、3、1000); } int BQ25703ReadReg (int add) { int res=0; unsigned char write_message[1]; write_message[0]= add; unsigned char read_data[2]={0}; hi2C_message[1];bhi2C_message (&1、hi21000) //开始读取 RTC 数据 HAL_I2C_Master_Receive (&hi2c1、BQ25703_ADD、READ_DATA、2、1000); res=(READ_DATA[1]<<8)| READ_DATA[0]; 返回 res; }
你有什么想法吗?