diff --git a/Drivers/Sht3x/sht30.c b/Drivers/Sht3x/sht30.c index 48d3345..f1e1a18 100644 --- a/Drivers/Sht3x/sht30.c +++ b/Drivers/Sht3x/sht30.c @@ -142,8 +142,33 @@ BOOL get_temp_humi_data(float* temdata, float* humidata) tmp_temdata = filter_middle(collect_temdata,COLLECT_DATA_NUM, FILTER_DATA_TYPE_FLOAT); tmp_humidata = filter_middle(collect_humidata,COLLECT_DATA_NUM, FILTER_DATA_TYPE_FLOAT); - AssertError((tmp_temdata.fValue >= -40) && (tmp_temdata.fValue <= 85), return FALSE, "sht30温度值校验失败"); - AssertError((tmp_humidata.fValue >= 0) && (tmp_humidata.fValue <= 100), return FALSE, "sht30湿度值校验失败"); +// 断言有问题 +// AssertError((tmp_temdata.fValue >= -40) && (tmp_temdata.fValue <= 85), return FALSE, "sht30温度值校验失败"); +// AssertError((tmp_humidata.fValue >= 0) && (tmp_humidata.fValue <= 100), return FALSE, "sht30湿度值校验失败"); + if(tmp_temdata.fValue < -40) + { + tmp_temdata.fValue = -40; +// term_printf("sht30温度值校验失败"); + return FALSE; + } + if(tmp_temdata.fValue > 125) + { + tmp_temdata.fValue = 125; +// term_printf("sht30温度值校验失败"); + return FALSE; + } + if(tmp_humidata.fValue < 0) + { + tmp_humidata.fValue = 0; +// term_printf("sht30湿度值校验失败"); + return FALSE; + } + if(tmp_humidata.fValue > 100) + { + tmp_humidata.fValue = 100; +// term_printf("sht3湿度值校验失败"); + return FALSE; + } *temdata = tmp_temdata.fValue; *humidata = tmp_humidata.fValue; diff --git a/EWARM/micro_climate.ewd b/EWARM/micro_climate.ewd index 5b5b0b7..c04c241 100644 --- a/EWARM/micro_climate.ewd +++ b/EWARM/micro_climate.ewd @@ -84,7 +84,7 @@