, C# [) ? H8 L+ F
- 计算公式
) s7 G; g: y" H7 U - 温度= ((TS_ADC_DATA - TS_CAL1)) * ( TS_CAL2_TEMP - TS_CAL1_TEMP)) / ( TS_CAL2 - TS_CAL1) + TS_CAL1_TEMP
复制代码
6 j2 `$ e9 ]( q2 o) \3 {) t5 c. J5 m其中:
~; C. s) ^: sTS_ADC_DATA =温度传感器通过ADC测量的原始数据# e% j+ Q, H3 a3 w5 X
Avg_Slope = (TS_CAL2 - TS_CAL1) / ( TS_CAL2_TEMP - TS_CAL1_TEMP) = 2.5(数据手册有)
; R& b: O( J* O
7 D. ?$ v: w* k5 W8 t# I9 r% hTS_CAL1 =等效在温度的TS_ADC_DATA(ADC转换的AD数值)6 G: l2 t4 u" [. Q
TEMP_DEGC_CAL1(出厂校准)
3 y7 c# E4 Y. u9 GTS_CAL2 =等效在温度的TS_ADC_DATA- V5 T. m& U$ k& \0 P
TEMP_DEGC_CAL2(工厂校准)
2 p9 u2 R t8 U9 F. X- b1 D% w' ?3 e) s2 ]; z# q" M& F) p
- r! O4 [& n' ^
8 z# V1 T$ W8 Q所以上面的公式为) e: w! L: z! k/ R, l/ g1 M I2 j. D
* _, |3 ~; d& L! w$ e# _( R3 T- 温度=(TS_ADC_DATA - TS_CAL1)*(1/2.5)+TS_CAL1_TEMP
" C. A+ s5 J- h - , o0 T; n/ j: U7 R* z2 {5 I9 C* F
- =(TS_ADC_DATA - TS_CAL1)*(1/2.5)+30
复制代码- 上面说
8 c, R* U# T. }- ~. D" G' E - TS_ADC_DATA =温度传感器通过ADC测量的原始数据. R9 d0 e4 O$ J. X4 [( R. M4 }6 Y
- (也就是芯片出厂时原始AD值,比如12位AD,1.43v对应1774AD值)$ ?! d5 K5 h5 S* p) i- E
- (4095/3.3)*1.43 = 1774(AD值)
p) F# g& N: h" W2 ? - (2.5V对应1774,这是芯片内部电阻分压读的AD值对应1.43V,这里不做解释)
复制代码 & O/ s5 I+ p( A$ C+ j
3 C, r+ L% X+ v! C5 }# i" S# gTS_CAL1 =等效在温度的TS_ADC_DATA(ADC转换的AD数值); Y, j; ~! J1 h4 \# i2 R
TS_CAL1就是为自己捕抓到的当前AD值, C" S; ?, S+ M+ [: E* R
0 A: ?/ m+ G, H( q& ^所以最终温度式子为:
. [8 @" ?# j9 [- @- L+ I& }4 E* a5 V5 n y6 w8 s- g$ z$ z
- 温度=(TS_ADC_DATA - TS_CAL1)*(1/2.5)+30
# r4 e$ C( H; F# E( N - = (1774 - 当前温度捕抓到的AD值)*(1/2.5)+30
9 ?' g; r6 Z) u) x% q( i8 G - =(1774 - g_stADC.uiADTemp)*(1/2.5)+30
; z5 w% N2 Z8 V - 注: g_stADC.uiADTemp为你捕抓到的当前温度的AD值
复制代码 * L2 j" L! w" B* t; d$ Y1 ?1 K
3 y$ W' r- U* u( d% [$ x2 C* O! F' ^( U! D
|