最近用HK32F030C8T6做一个项目,利用ADC检测NTC电阻阻值测量环境温度,检测过程中是定时100ms循环启动ADC采样,连续采样5次后停止ADC采样,然后在定时函数中计算采样平均值,再计算出输入电压,然后根据输入电压以及电阻分压公式计算出NTC电阻阻值,最后利用查表法获取温度值。
但实际在执行过程中,发现测出的温度值与实际温度相差好几度,后来我把计算电阻值部分代码注释掉以后,直接输出根据ADC采样值计算出的Vad值,数据与实测值相差不大。但如果把电阻值计算部分代码取消注释,但不输出,仍然只输出根据ADC采样值计算出的Vad值,发现此时的Vad值就会出现明显偏差。
也就是说。如果我在计算Vad值的后面再加上计算NTC电阻值的代码,计算出的Vad值就会出现偏差。而如果没有这些计算NTC电阻值的代码,计算出的Vad值就基本正常。
不知道各位大佬有没有知道是什么原因的? |