Hi Alice,
I don't think 0x01FF is the right data which is expected,.
To elaborate my view I'll write few points here
>>POINT-1: We checked on Arduino with MCP9805 it is showing 0xC1E0 as two bytes.
>>POINT-2: As per datasheet if we are reading two bytes then there should be only 2 bytes after 3rd byte (Address+R) then NAK

but as observed on I2C bus we are getting 4bytes after 3rd byte (Address+R) then NAK

>>POINT-3: I can say that 1 FF is the appended data to our expected data, because the temperature data is changing we are unable to say that in waveform which is our expected data,
so I just tried reading the Manufacturing ID and device ID registers

- While reading 2 bytes from register 0x06 shows as

so green colored is 0x0054 is as expected and red colored 0x01FF is appended,
- While reading 2 bytes from register 0x07 shows as

so green colored is 0x0000 is as expected and red colored 0x01FF is appended,
So When I am trying to read two bytes from register why I am getting 4 bytes on I2C bus? :smileyconfused:
>>POINT-4: For exploring more I tried for reading 3 bytes from register 0x06 .instead of showing 3 bytes it was showing 6 bytes.

after expanding

so first 2bytes 0x0054 is as expected and red colored 0x01FF 0xFFFF is appended,
and for this 3bytes reading I was suspecting I'll get FF FF on console for printing buffer[0] and buffer[1] but I got 1 FF. :smileyshocked:
Idris