// Setup Config reg for 12bit A/D conversion
SWStartI2C(); // Start
SWPutcI2C(0x90); // Address byte (write)
SWAckI2C();
SWPutcI2C(0x01); // Pointer (config)
SWAckI2C();
SWPutcI2C(0x60); // Data (12bit A/D conversion)
SWAckI2C();
SWStopI2C(); // Stop
// Set pointer to temperature reg
SWStartI2C(); // Start
SWPutcI2C(0x90); // Address byte (write)
SWAckI2C();
SWPutcI2C(0x00); // Pointer (temp)
SWAckI2C();
SWStopI2C(); // Stop
Why do you set the pointer here! Do you not set the pointer when you read.. From the datasheet it looks like you MUST set the pointer each read.