diff --git a/App/Inc/frt_protocol.h b/App/Inc/frt_protocol.h index 961e9fb..a0f6a57 100644 --- a/App/Inc/frt_protocol.h +++ b/App/Inc/frt_protocol.h @@ -23,22 +23,23 @@ typedef enum typedef enum { FRT_REGISTER_MIN_WIND_DIRECTION = 0, /* 最小风向 */ - FRT_REGISTER_THROUGH_WIND_DIRECTION = 1, /* 极小风向 */ - FRT_REGISTER_AVERAGE_WIND_DIRECTION = 2, /* 平均风向 */ - FRT_REGISTER_INSTANTANEOUS_WIND_DIRECTION = 3, /* 瞬时风向 */ - FRT_REGISTER_PEAK_WIND_DIRECTION = 4, /* 极大风向 */ - FRT_REGISTER_MAX_WIND_DIRECTION = 5, /* 最大风向 */ - FRT_REGISTER_MIN_WIND_SPEED = 6, /* 最小风速 */ - FRT_REGISTER_THROUGH_WIND_SPEED = 7, /* 极小风速 */ - FRT_REGISTER_AVERAGE_WIND_SPEED = 8, /* 平均风速 */ - FRT_REGISTER_INSTANTANEOUS_WIND_SPEED = 9, /* 瞬时风速 */ - FRT_REGISTER_PEAK_WIND_SPEED = 10, /* 极大风速 */ - FRT_REGISTER_MAX_WIND_SPEED = 11, /* 最大风速 */ - FRT_REGISTER_TEMPERATURE = 12, /* 大气温度 */ - FRT_REGISTER_HUMIDITY = 13, /* 大气湿度 */ - FRT_REGISTER_PRESSURE = 14, /* 大气压 */ - FRT_REGISTER_RAIN = 15, /* 雨量 */ - FRT_REGISTER_PRECIPITATION_INTENSITY = 16, /* 总辐射 */ + FRT_REGISTER_AVERAGE_WIND_DIRECTION = 1, /* 平均风向 */ + FRT_REGISTER_MAX_WIND_DIRECTION = 2, /* 最大风向 */ + FRT_REGISTER_MIN_WIND_SPEED = 3, /* 最小风速 */ + FRT_REGISTER_AVERAGE_WIND_SPEED = 4, /* 平均风速 */ + FRT_REGISTER_MAX_WIND_SPEED = 5, /* 最大风速 */ + FRT_REGISTER_TEMPERATURE = 6, /* 大气温度 */ + FRT_REGISTER_HUMIDITY = 7, /* 大气湿度 */ + FRT_REGISTER_PRESSURE = 8, /* 大气压 */ + FRT_REGISTER_RAIN = 9, /* 雨量 */ + FRT_REGISTER_PRECIPITATION_INTENSITY = 10, /* 总辐射 */ + FRT_REGISTER_UV_INTENSITY = 11, /* 紫外强度 */ + FRT_REGISTER_THROUGH_WIND_DIRECTION = 12, /* 极小风向 */ + FRT_REGISTER_INSTANTANEOUS_WIND_DIRECTION = 13, /* 瞬时风向 */ + FRT_REGISTER_PEAK_WIND_DIRECTION = 14, /* 极大风向 */ + FRT_REGISTER_THROUGH_WIND_SPEED = 15, /* 极小风速 */ + FRT_REGISTER_INSTANTANEOUS_WIND_SPEED = 16, /* 瞬时风速 */ + FRT_REGISTER_PEAK_WIND_SPEED = 17, /* 极大风速 */ FRT_REGISTER_DEVICE_ADDR = 20, /* 设备地址 */ FRT_REGISTER_COMMU_BAUDRATE = 21, /* 波特率 */ diff --git a/App/Src/frt_protocol.c b/App/Src/frt_protocol.c index f406543..238bd93 100644 --- a/App/Src/frt_protocol.c +++ b/App/Src/frt_protocol.c @@ -1298,9 +1298,10 @@ void FRT_MsgProc_ReadRegister(device_handle device, void *pMsg) u_int16_t reg_num= (data[4] << 8)| data[5]; if ( \ start_reg_addr < 0x00 ||\ - (start_reg_addr > FRT_REGISTER_PRESSURE && start_reg_addr < FRT_REGISTER_DEVICE_ADDR) ||\ + (start_reg_addr > FRT_REGISTER_PRESSURE && start_reg_addr < FRT_REGISTER_THROUGH_WIND_DIRECTION) ||\ + (start_reg_addr > FRT_REGISTER_PEAK_WIND_SPEED && start_reg_addr < FRT_REGISTER_DEVICE_ADDR) ||\ (start_reg_addr > FRT_REGISTER_TEMPHUM_UPDATE_TIME && start_reg_addr < FRT_REGISTER_TRANSDUCER_CFG_1R5) ||\ - start_reg_addr > FRT_REGISTER_ID_4 \ + start_reg_addr > FRT_REGISTER_ID_4 \ ) { @@ -1310,9 +1311,10 @@ void FRT_MsgProc_ReadRegister(device_handle device, void *pMsg) if ( \ reg_num < 0x01 ||\ - (((reg_num + start_reg_addr - 1) > FRT_REGISTER_PRESSURE) && ((reg_num + start_reg_addr - 1) < FRT_REGISTER_DEVICE_ADDR)) ||\ + (((reg_num + start_reg_addr - 1) > FRT_REGISTER_PRESSURE) && ((reg_num + start_reg_addr - 1) < FRT_REGISTER_THROUGH_WIND_DIRECTION)) ||\ + (((reg_num + start_reg_addr - 1) > FRT_REGISTER_PEAK_WIND_SPEED) && ((reg_num + start_reg_addr - 1) < FRT_REGISTER_DEVICE_ADDR)) ||\ (((reg_num + start_reg_addr -1) > FRT_REGISTER_TEMPHUM_UPDATE_TIME) && ((reg_num + start_reg_addr -1) < FRT_REGISTER_TRANSDUCER_CFG_1R5)) ||\ - ((reg_num + start_reg_addr -1) > FRT_REGISTER_ID_4) \ + ((reg_num + start_reg_addr -1) > FRT_REGISTER_ID_4) \ ) {