This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMP117: TMP117 I2C re-start

Part Number: TMP117


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)

  • Hello Shay,

    The repeated start condition is not required on the TMP117 device in order to properly read.  The pointer setting will be held until power cycle without the repeated start.    

    The condition of sending stop and start is not a limitation for the TMP117 device as the pointer is maintained.