uint32_t humidity_temp; uint16_t humidity; if (Chip_I2C_MasterRead(I2C0, (0x4e>>1), (uint8_t *)&humidity_temp, 4) != 4) { // sprintf(out_string, "error reading humidity sensor\r\n"); // DEBUGSTR(out_string); totalSMBUSErrors++; } humidity = humidity_temp & 0x0000ffff; humidity = ((humidity&0x00ff)<<8) | ((humidity&0xff00)>>8); humidity_temp = humidity_temp>>16; humidity_temp = ((humidity_temp&0x00ff)<<8) | ((humidity_temp&0xff00)>>8); humidity_temp >>= 2;