diff --git a/.vscode/settings.json b/.vscode/settings.json index 025ba1c..014cb14 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -82,6 +82,7 @@ "math.h": "c", "ctime": "c", "bsp_wdg.h": "c", - "rtdbg.h": "c" + "rtdbg.h": "c", + "bsp_rng.h": "c" } } diff --git a/bsp/inc/bsp_mq.h b/bsp/inc/bsp_mq.h index c762ea5..9589636 100644 --- a/bsp/inc/bsp_mq.h +++ b/bsp/inc/bsp_mq.h @@ -44,7 +44,7 @@ #define MQ_VOLTAGE_RATIO (1.74F) // adc voltage 1000x -#define MQ_VOLTAGE_HIGH_LIMIT (4096U) +#define MQ_VOLTAGE_HIGH_LIMIT (4095U) #define MQ_VOLTAGE_LOW_LIMIT (100U) #define MQ_VOLTAGE_ALARM_DEFAULT (uint16_t)(2250U) diff --git a/bsp/src/bsp_mq.c b/bsp/src/bsp_mq.c index 9decd19..a435532 100644 --- a/bsp/src/bsp_mq.c +++ b/bsp/src/bsp_mq.c @@ -2,7 +2,7 @@ * @Author : stark1898y 1658608470@qq.com * @Date : 2024-06-18 15:48:01 * @LastEditors: mbw && 1600520629@qq.com - * @LastEditTime: 2025-06-23 13:55:13 + * @LastEditTime: 2025-06-23 14:04:29 * @FilePath: \ble_bjq_ch303rct6_ml307\bsp\src\bsp_mq.c * @Description : * @@ -125,16 +125,16 @@ static uint8_t Sensor_CheckData(void) static rt_uint8_t index = 0; rt_uint16_t voltage = Get_Gas_VoltageAdcInt1000x(); - if(alarm_flag) + if(alarm_flag)//检测到报警后的报警恢复,降低其阈值 { - alarm_status_buffer[index] = ((voltage > (Sensor_device.alarm_value - 500)) && (voltage < MQ_VOLTAGE_HIGH_LIMIT)) ? kSensorAlarm : kSensorNormal; + alarm_status_buffer[index] = (((voltage > (Sensor_device.alarm_value - 500)) && (voltage < MQ_VOLTAGE_HIGH_LIMIT)) ? kSensorAlarm : kSensorNormal); } else { - alarm_status_buffer[index] = ((voltage > Sensor_device.alarm_value) && (voltage < MQ_VOLTAGE_HIGH_LIMIT)) ? kSensorAlarm : kSensorNormal; + alarm_status_buffer[index] = (((voltage > Sensor_device.alarm_value) && (voltage < MQ_VOLTAGE_HIGH_LIMIT)) ? kSensorAlarm : kSensorNormal); } - fault_buf[index] = ((voltage < MQ_VOLTAGE_LOW_LIMIT) || (voltage > MQ_VOLTAGE_HIGH_LIMIT)) ? kSensorFault : kSensorNormal; + fault_buf[index] = (((voltage < MQ_VOLTAGE_LOW_LIMIT) || (voltage > MQ_VOLTAGE_HIGH_LIMIT)) ? kSensorFault : kSensorNormal); index++; if (index >= SENSOR_SAMPLING_TIMS) { @@ -193,16 +193,16 @@ static void Sensor_detection_thread_entry(void *param) while (1)//等待标定 { calibration_flag = Flash_Get_Calibration_State(); - if(calibration_flag == 1) + if(calibration_flag == kSysGasCalibStatus) break; rt_thread_mdelay(1000); Get_Gas_VoltageAdcInt1000x(); } rt_uint16_t alarm_value = Flash_Get_SysCfg(kAlarmLValueId); // 获取系统报警阈值; - if ((alarm_value > 4095)||(alarm_value < 300)) + if ((alarm_value > 4095)||(alarm_value < 1000)) { - alarm_value = 3400; + alarm_value = 2250; } Sensor_device.alarm_value = alarm_value; LOG_D("报警阈值:%d", Sensor_device.alarm_value);