I am using TMP117 on my board. The datasheet (page 23 figure 7-10) states that between write to the pointer register and the next transaction of reading the 16 bit register there should be a "Re-start", which means as far as I can understand : I2C start, without sending I2C end after receiving ACK from the slave for the previous transaction. The current VHDL core which I use for I2C interface does not allow that. I.e. I need to send stop and only after that a start will be sent.
When I do that I get the following bytes h0c , h0c when I read the temp. register. I suspect that I am reading the MSbyte twice, instead of MSbyte and LSbyte
My Questions are :
1. What happens when I send stop and start after writing to the pointer register(instead of just start)?
2. Can you suggest a way to do that if I have a limitation described above(i.e. I can send start only if I send stop before that)