diff --git a/Drivers/HP203B/hp203b.c b/Drivers/HP203B/hp203b.c index 5efdcf5..b79aa85 100644 --- a/Drivers/HP203B/hp203b.c +++ b/Drivers/HP203B/hp203b.c @@ -26,9 +26,8 @@ void hp203_set_mode() * *返回:气压 *****************************/ -float Hp203bReadPressure(void) +BOOL Hp203bReadPressure(float *press) { - float ret = 0.0; long Hp203b_Pressure = 0; uint8_t Hp203bPressure_Temp[3] = {0}; uint8_t read_command[1] = {HP20X_READ_P}; @@ -43,8 +42,10 @@ float Hp203bReadPressure(void) Hp203b_Pressure |= Hp203bPressure_Temp[2]; Hp203b_Pressure = Hp203b_Pressure / 100; - ret = Hp203b_Pressure; - return ret; + if(Hp203b_Pressure<300||Hp203b_Pressure>1200) + return FALSE; + *press = Hp203b_Pressure; + return TRUE; } /**************************** @@ -55,9 +56,8 @@ float Hp203bReadPressure(void) * *返回:温度 *****************************/ -float Hp203bReadTempture(void) +BOOL Hp203bReadTempture(float *press) { - float ret = 0.0; long Hp203b_tempture = 0; uint8_t Hp203bPressure_Temp[3] = {0}; uint8_t read_command[1] = {0x32}; @@ -72,8 +72,8 @@ float Hp203bReadTempture(void) Hp203b_tempture |= Hp203bPressure_Temp[2]; Hp203b_tempture = Hp203b_tempture / 100; - ret = Hp203b_tempture; - return ret; + *press = Hp203b_tempture; + return TRUE; } /**************************** @@ -87,15 +87,21 @@ float Hp203bReadTempture(void) #define COLLECT_HB203_DATA_NUM 10 BOOL get_HP203_data(float* tempdata, float* press) { + int ret; + uint8_t temp_error_time, press_error_time = 0; // 压强 U_DataType collect_pressure[COLLECT_HB203_DATA_NUM]={0x00}; for(int i=0; i= 0) && (tmp_humidata.fValue <= 100), return FALSE, "sht30湿度值校验失败"); if(tmp_temdata.fValue < -40) { - tmp_temdata.fValue = -40; +// tmp_temdata.fValue = -40; // term_printf("sht30温度值校验失败"); // return FALSE; goto error_return; } if(tmp_temdata.fValue > 125) { - tmp_temdata.fValue = 125; +// tmp_temdata.fValue = 125; // term_printf("sht30温度值校验失败"); // return FALSE; goto error_return; } if(tmp_humidata.fValue < 0) { - tmp_humidata.fValue = 0; +// tmp_humidata.fValue = 0; // term_printf("sht30湿度值校验失败"); // return FALSE; goto error_return; } if(tmp_humidata.fValue > 100) { - tmp_humidata.fValue = 100; +// tmp_humidata.fValue = 100; // term_printf("sht3湿度值校验失败"); // return FALSE; goto error_return; diff --git a/EWARM/micro_climate.ewp b/EWARM/micro_climate.ewp index 64b1be5..02c90d8 100644 --- a/EWARM/micro_climate.ewp +++ b/EWARM/micro_climate.ewp @@ -701,7 +701,7 @@ - 1 + 80 inputOutputBased