主题中讨论的其他器件: EV2400、 BQSTUDIO
您好!
我正在通过将 SMBus 连接到 Arduino 来更新 BQ40z50 R3的 RSOC。 我使用以下函数输入 RSOC 值。
void RSOC_UPDATE_UI (uint8_t RSOC_UI)
{
uint8_t RSOC_DATA[4];
RSOC_DATA[0]= 0x79;
RSOC_DATA[1]= 0x00;
RSOC_DATA[2]= RSOC_UI;
RSOC_DATA[3]= 0x00;
SMBus->writeBlock (gauge、0x44、RSOC_DATA、4);
}
其中监测计->0x0B
uint8_t RSOC_UI-->十进制的必需值、假设50%
但是、无论给定的值是多少、以下函数始终读回100。
cap = smbus->readWord (测量仪表、RSOC);
其中 RSOC->0x0D 。
原因是什么?