TI中文支持网
TI专业的中文技术问题咨询交流网站

BQ76930数据读取

大家好,有个问题,一直很疑惑,请大家帮忙分析下,谢谢。问题如下:

读取BQ76930里面信息时,返回值为其实际地址,如读取第一串单体电压时,返回值为0xC0D,第二串时,返回0xE0F。温度,总压都是这样,这个是什么原因啊,代码如下:

int16 BqGetCellVoltage(uint8 cell)
{
    uint16 vCell;
    uint8 ubData[2] = {0,0},ubRes1 = ERROR,ubRes2 = ERROR;

      if((cell == 0)||(cell > NUMBER_OF_CELLS))
    {
        return 0;
    }
    else
    {          ubRes2 = IICReadData(IIC_FIR,BQMAXIMO,(VC1_LO_BYTE + ((cell – 1) << 1)),8, &ubData[1],IIC_DIR_READ); //0D
        ubRes1 = IICReadData(IIC_FIR,BQMAXIMO,(VC1_HI_BYTE + ((cell – 1) << 1)), 8,ubData,IIC_DIR_READ); //0C
        vCell =  ((uint16)(ubData[0]) << 8) |(uint16)(ubData[1]);

        if(ERROR == ubRes1 || ERROR == ubRes2)
        {
            //i2c error
            bqI2CError = 1;
            return 0;
        }
        else
        {
            bqI2CError = 0;
            return(BqCellVoltageConversion((vCell&0x3FFF),bqAdcGain,bqAdcOffset));//return value in mV
        }
    }
}

Star Xu:

您可以连接BQstudio看一下芯片是否正常
参考代码只有下面的文档
www.ti.com/…/slva626b.pdf

BMS:

有数据返回。检查一下代码的逻辑问题。

赞(0)
未经允许不得转载:TI中文支持网 » BQ76930数据读取
分享到: 更多 (0)