Hello Sebastian,
Pointer Address default value/reset value is 0x00 which means it is pointing to the Temp Register. You should be able to read the temperature without re-writing to the pointer register without any issues. (provided there is no write/read operation to or from any other register prior to your temp read operation)
Lets take debug this issue by taking one step at a time...
In your I2C_TMP112_read() function after you are sending the START condition does the line "while (!(IFG2 & UCB0RXIFG)); " include - (Sending Slave Address + Write) + Pointer Address + (Slave Address+read) + Data Byte 1 + data Byte 2 ?? Along with the corresponding ACKnowledgements? In other words does the above while statement include the following:
If you are not sure, can you probe an oscilloscope on the SCL and SDA lines to check for the above wave forms?
Best Regards,
Abhi Muppiri
Applications Engineer
AIP- Sensing Products
Texas Instruments