I am using dspic33ck micro-controller with BQ76952 and I am reading the bits[8:11] from DAStatus6 register to get the running time of the AFE. I am converting the 4 8-bit numbers to one 32-bit number. (bit-11 << 24) | (bit-10 << 16) | (bit-9 << 8) | (bit-8 & 0xFF). But after I get the bits[8:11] = FF 7F 00 00 (32767 in decimal), I am getting the next value as bits[8:11] = 00 80 FF FF, which is overflowing into the negative range.
Could I get any help regarding this ?