NTC热敏电阻作为温度传感器工作,其电路为与10K电阻串联,ADC检测的是串联电阻。NTC异常工作有两种即开路和短路,当开路时,检测到的串联电阻值为0,当短路时电压值即为电源电压值。其具体原理图如下:
当为开路时,检测电压值为0,则比例系数分母为0,则比例系数res值为无效值(1,#QNAN),此处的1.#QNAN是一个打印呈现,QNAN是指Quiet Not a Number。具体代码和调试信息如下:
在KEIL5中,我最后一句(uint16_t)TempValue,强制类型转换成无符号16位整型,无效值和负数值都转化成0。且正常室温不可能达到0度,所以我将检测到0度时设为异常值,温度部分显示提示错误。