||
参考STM官方数据手册(en.DM00108832/DS1019 Rev 5)及编程手册(en.DM00083560/RM0351 Rev 5)。
编程手册576页,提供了计算公式:
其中,TS_CAL为读取到的温度传感器的ADC值,TS_CAL1,TS_CAL2为原厂预校正的值,查阅数据手册42页有说明,如下图:
如图,需要注意的是,原厂给出的这两个值是在Vref=3.0V的ADC值,如果你的参考电压不一样的话,需要进行换算,才能用上面的公式进行计算。
因为在我的板子上,用的外部2.5V参考电压,自己做的时候,没有换算,发现读出的AD值偏大,计算结果误差离谱,才仔细琢磨的下官方的资料。换算TS_CAL1,TS_CAL2或者单独换算TS_CAL都可以。换算方法如下:
假定你的参考电压为Vr,原厂的参考电压为Vref,你读取到的温度传感器的ADC值为TS_CAL,转换后的值为TS_CAL‘,
则,TS_CAL‘ = TS_CAL*Vr/Vref;
将TS_CAL‘,TS_CAL1,TS_CAL2,代入官方的温度计算公式即可得出近似温度值。