# Temperature Measurement

An on-chip temperature sensor is available. To do a temperature measurement, follow these steps:
1. 1.Configure the voltage reference to internal 1.024V by writing to the Reference Selection (REFSEL) bit field the ADCn.CTRLC register.
2. 2.Select the temperature sensor as input in the Positive Input Multiplexer (ADCn.MUXPOS) register.
3. 3.Configure the ADC Sample Duration by writing a value ≥ 32µs×fCLK_ADC to the Sample Duration (SAMPDUR) bit field in the Control E (ADCn.CTRLE) register.
4. 4.Acquire the temperature sensor output voltage by running a 12-bit Single-Ended conversion.
5. 5.Process the measurement result, as described below.
The measured voltage has a linear relationship to the temperature. Due to process variations, the temperature sensor output voltage varies between the individual devices at the same temperature. The individual compensation factors determined during the production test are stored in the Signature Row:
• SIGROW.TEMPSENSE0 is a gain/slope correction
• SIGROW.TEMPSENSE1 is an offset correction
The result of the temperature sensor measurement must be processed in the application software using compensation values from device production or user calibration to achieve more accurate results. Refer to the Electrical Characteristics section for further details.

The following equation gives the temperature (in Kelvin):

int8_t sigrow_offset = SIGROW.TEMPSENSE1;   // Read signed offset from signature row
uint16_t temperature_in_K = temp;