您好!
我现在使用的HDC2010温湿度传感器进行温度的测量。寄存器ID读取都是正确的,但是现在读取的室内温度偏高。目前读取的温度为35℃左右,而实际室内温度27℃左右。这是什么原因呢?
Amy Luo:
您好,
改变室温,HDC2010输出温度是怎样变化的呢,是不是输出寄存器值转化温度时出错了呢,请参考下面文档:
www.ti.com.cn/…/snaa312.pdf
user6110459:
回复 Amy Luo:
您好,给它加热的话温度也会升高,转换方式就是按照数据手册提供的,下面附上测量代码。
void HDC2010_TH(float *temp, float *humi) {uint16_t temperature, humidity;HDC2010_WriteOneByte(MEASUREMENT_CONF, 0x01);do{delay_ms(10);}while(!(HDC2010_ReadOneByte(INTERRUPT_DRDY)&0x80)); //等待测量完成HDC2010_ReadTempHumi(&temperature, &humidity);*temp = (float)temperature/65536;*temp *= 165;*temp -= 40;*humi = (float)humidity/65536;*humi *= 100; }
user6110459:
回复 Amy Luo:
大佬麻烦帮忙看一下
Amy Luo:
回复 user6110459:
很高兴您的问题得到解决。