Using DTC and for repeated Single Channel Reading on MSP430
You probably want:

volatile unsigned int temperature;


The compiler might put the variable into a register otherwise, and will not read the updated memory location.