主题中讨论的其他器件: CC1350
工具/软件:TI-RTOS
你好,先生。。
BQ27510-G3在 从传感器接收数据时连接到 cc1350控制器。某些参数(如 SOC、SOH、续航时间值)不准确、您可以建议对代码进行任何修改
DELAY_US (70);
txBuffer_BAT[0]= 0x06;//temperature
i2cWrite ((uint8_t) 0x55、txBuffer_bat、1);
DELAY_US (70);
i2cRead ((uint8_t) 0x55、rxBuffer_bat_temp、2);
温度=((uint16_t) rxBuffer_bat_temp[1]<< 8)| rxBuffer_bat_temp[0];
BAT_Temperature =(float)(温度);
BAT_Temperature = Bat_Temperature / 10.0f;
BAT_Temperature = 272.15f;
DELAY_US (70);
txBuffer_BAT[0]= 0x08;//voltage
i2cWrite ((uint8_t) 0x55、txBuffer_bat、1);
DELAY_US (70);
i2cRead ((uint8_t) 0x55、rxBuffer_bat_volt、2);
电压=((uint16_t) rxBuffer_bat_volt[1]<< 8)| rxBuffer_bat_volt[0];
BAT_Voltage =(float)(Voltage);
BAT_Voltage = Bat_Voltage / 1000.0f;
DELAY_US (70);
txBuffer_BAT[0]= 0x16;//时间到空
i2cWrite ((uint8_t) 0x55、txBuffer_bat、1);
DELAY_US (70);
i2cRead ((uint8_t) 0x55、rxBuffer_bat_time、2);
TimeToEmpty =(((Int16_t) rxBuffer_BAT_TIME[1]<< 8)| rxBuffer_BAT_TIME[0];
BAT_TimeToEmpty =(float)(TimeToEmpty);
BAT_TimeToEmpty = Bat_TimeToEmpty / 60.0f;
DELAY_US (70);
txBuffer_bat[0]= 0x14;//电流
i2cWrite ((uint8_t) 0x55、txBuffer_bat、1);
DELAY_US (70);
i2cRead ((uint8_t) 0x55、rxBuffer_bat_current、2);
AverageCurrent =((Int16_t) rxBuffer_BAT_CURRENT[1]<< 8)| rxBuffer_BAT_CURRENT[0];
BAT_AverageCurrent =(float)(AverageCurrent);
BAT_AverageCurrent = Bat_AverageCurrent / 1000.0f;
DELAY_US (70);
txBuffer_bat[0]= 0x1C;/sate of Health
i2cWrite ((uint8_t) 0x55、txBuffer_bat、1);
DELAY_US (70);
i2cRead (((uint8_t) 0x55、rxBuffer_bat_SoH、2);
StateOfHealth =((Int16_t) rxBuffer_BAT_SOH[1]<< 8)| rxBuffer_BAT_SOH[0];
StateOfHealth =(StateOfHealth & 0xFF);
DELAY_US (70);
txBuffer_BAT[0]= 0x20;//充电速率
i2cWrite ((uint8_t) 0x55、txBuffer_bat、1);
DELAY_US (70);
i2cRead (((uint8_t) 0x55、rxBuffer_bat_soc、2);
StateOfCharge =((Int16_t) rxBuffer_BAT_SoC[1]<<8)| rxBuffer_BAT_SoC[0];