Temperature (in ℃) = {(V – V) / Avg_Slope} + 25
公式中的V便是在ADC_IN16读到的数值。Avg_Slope便是温度与ADC数值转化的斜率。
想象一个XY坐标,X轴为ADC的电压读数,Y轴为温度,两轴之间有一条直线代表了温度与转化电压的联系;在这条直线上假如X轴电压为V时,Y轴即为25℃;当读出的电压是其它数值时,即读出的电压是V时,运用这个公式就可以得到温度的数值。
在STM32F103xx的数据手册平别离给出了V和Avg_Slope的值:
V 最小=1.34V 典型=1.43V 最大=1.52V
Avg_Slope 最小=4.0 典型=4.3 最大=4.6 单位是 mV/℃
例如读到V = 1.30V。别离取V和Avg_Slope的典型值,核算得到:
(1.43 – 1.30)/0.0043 + 25 = 55.23
所以温度大约为 55℃