最近想使用灵动微€€[url=]芯片[/url]里面自带的[url=]温度传感器[/url]来[url=]测试[/url]大概的温度,根据参考手册提供的信息: T(◦C) = ([url=]v2[/url]5 - VSENSE) / Avg_Slope + 25
V25:温度[url=]传感器[/url]在 25◦C 时的输出电压。
Avg_Slope: 温度传感器输出电压和温度的关联参数。
V25 和 Avg_Slope 的典型值请参考[url=]数据手册[/url]温度传感器章节。
VSENSE:温度传感器当前的输出电压
VSENSE = Value * Vdd / 4096
最终经过简化之后得出如下公式:
Temp = (float)(1.45-(ADCPara.ADC_SensorVal*1.2/4096))/0.04801+25;
根据这公式计算,随着温度的升高,ADCPara.ADC_SensorVal的值也跟随上升,代入公式可看出,ADCPara.ADC_SensorVal的数字不断增大,温度反而是降低的。暂且不讨论这公式算的准不准,从原理上来说就已经行不通了。
为何出现这种情况呢,究竟是哪里有错,公式我明明是对着文档给的?
|