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.

ADS1118驱动程序测量负温度



应用中需要测量负温度,ti的430BOOST-ADS1118-SFT驱动程序里边的一点注释没看懂。主要是Code[]这个数组是怎么得来的,不懂的部分我加了下划线,请大家帮忙看一下。

/******************************************************************************
* function: local_compensation(int local_code)
* introduction:
* this function transform internal temperature sensor code to compensation code, which is added to thermocouple code.
* local_data is at the first 14bits of the 16bits data register.
* So we let the result data to be divided by 4 to replace right shifting 2 bits
* for internal temperature sensor, 32 LSBs is equal to 1 Celsius Degree.
* We use local_code/4 to transform local data to n* 1/32 degree.
* the local temperature is transformed to compensation code for thermocouple directly.
* (Tin -T[n-1])
* comp codes = Code[n-1] + (Code[n] - Code[n-1])* {---------------}
* (T[n] - T[n-1])
* for example: 5-10 degree the equation is as below
*
* tmp = (0x001A*(local_temp - 5))/5 + 0x0019;
*
* 0x0019 is the 'Code[n-1]' for 5 Degrees; 0x001A = (Code[n] - Code[n-1])
* (local_temp - 5) is (Tin -T[n-1]); denominator '5' is (T[n] - T[n-1])
*
* the compensation range of local temperature is 0-125.
* parameters: local_code, internal sensor result
* return value: compensation codes
******************************************************************************/