From 1fbf61f7d4339e599cb64be5c2b142decf5f1b15 Mon Sep 17 00:00:00 2001 From: 95384 <664090429@qq.com> Date: Thu, 27 Feb 2025 14:49:36 +0800 Subject: [PATCH] =?UTF-8?q?=E9=80=82=E9=85=8D=E5=A8=81=E6=B5=B7=E7=B2=BE?= =?UTF-8?q?=E8=AE=AF=E7=95=85=E9=80=9A=E5=85=89=E7=85=A7=E4=BC=A0=E6=84=9F?= =?UTF-8?q?=E5=99=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- App/Inc/frt_protocol.h | 4 ++-- App/Src/anemometer_dev.c | 2 ++ App/Src/frt_protocol.c | 2 -- App/Src/uart_dev.c | 2 +- Drivers/RainLight/rain.c | 10 +++++----- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/App/Inc/frt_protocol.h b/App/Inc/frt_protocol.h index a0f6a57..4095d93 100644 --- a/App/Inc/frt_protocol.h +++ b/App/Inc/frt_protocol.h @@ -32,8 +32,8 @@ typedef enum FRT_REGISTER_HUMIDITY = 7, /* 大气湿度 */ FRT_REGISTER_PRESSURE = 8, /* 大气压 */ FRT_REGISTER_RAIN = 9, /* 雨量 */ - FRT_REGISTER_PRECIPITATION_INTENSITY = 10, /* 总辐射 */ - FRT_REGISTER_UV_INTENSITY = 11, /* 紫外强度 */ + FRT_REGISTER_LIGHT_INTENSITY_HIGH = 10, /* 光照强度高位 */ + FRT_REGISTER_LIGHT_INTENSITY_LOW = 11, /* 光照强度低位 */ FRT_REGISTER_THROUGH_WIND_DIRECTION = 12, /* 极小风向 */ FRT_REGISTER_INSTANTANEOUS_WIND_DIRECTION = 13, /* 瞬时风向 */ FRT_REGISTER_PEAK_WIND_DIRECTION = 14, /* 极大风向 */ diff --git a/App/Src/anemometer_dev.c b/App/Src/anemometer_dev.c index bc0ea98..2dfb453 100644 --- a/App/Src/anemometer_dev.c +++ b/App/Src/anemometer_dev.c @@ -10,6 +10,7 @@ #include "FIR.h" #include "LowPassFilter.h" #include "encrypt.h" +#include "rain.h" #define AVE_TIME 600 //婊戝姩骞冲潎鏃堕棿锛岀锛屾渶澶600 #define COVER_TINE 10 //鎺㈠ご閬尅鍚庡鑷寸殑鎺ユ敹娆℃暟杩囧皬鐨勬姤閿欎复鐣屾鏁 @@ -1142,6 +1143,7 @@ void tem_hum_update_task(void const * argument) { osDelay(1000); if(!tem_hun_check_flag)continue; + getLightRainData();//闆ㄩ噺鍏夌収 time_s_temp_humi ++; // 娓╂箍搴﹀ぇ姘斿帇鏇存柊 if (time_s_temp_humi >= g_usrConfigInfo.temp_hum_update_time) diff --git a/App/Src/frt_protocol.c b/App/Src/frt_protocol.c index 46e4d76..bd1ac7c 100644 --- a/App/Src/frt_protocol.c +++ b/App/Src/frt_protocol.c @@ -1357,7 +1357,6 @@ 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_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 \ @@ -1370,7 +1369,6 @@ 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_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) \ diff --git a/App/Src/uart_dev.c b/App/Src/uart_dev.c index 8da0bb3..1173fd7 100644 --- a/App/Src/uart_dev.c +++ b/App/Src/uart_dev.c @@ -54,7 +54,7 @@ uart_device_info uart_devices[]={ [3] = { .init = 0, .uart_index = RAIN_RS485_UART_INDEX, - .uart_baudrate = 4800, + .uart_baudrate = 9600, }, }; diff --git a/Drivers/RainLight/rain.c b/Drivers/RainLight/rain.c index 894600c..a1c8cc6 100644 --- a/Drivers/RainLight/rain.c +++ b/Drivers/RainLight/rain.c @@ -19,28 +19,28 @@ void rainLightPowerOff(void) //获取雨量指令,返回的雨量是十倍,两个字节 void getRainData(void) { - uint8_t getRainDataCmd[] = {0x01, 0x03, 0x00, 0x00, 0x00, 0x01, 0x84, 0x0A}; + uint8_t getRainDataCmd[] = {0x01, 0x03, 0x00, 0x03, 0x00, 0x01, 0x74, 0x0A}; uart_dev_write(g_rain_uart_handle, getRainDataCmd, sizeof(getRainDataCmd)); } //清空雨量指令 void clearRainData(void) { - uint8_t getRainDataCmd[] = {0x01, 0x06, 0x00, 0x00, 0x00, 0x5A, 0x09, 0xF1}; + uint8_t getRainDataCmd[] = {0x01, 0x06, 0x01, 0x05, 0x00, 0x00, 0x98, 0x37}; uart_dev_write(g_rain_uart_handle, getRainDataCmd, sizeof(getRainDataCmd)); } //获取光照指令,返回一倍光照,四个字节 void getLightData(void) { - uint8_t getRainDataCmd[] = {0x01, 0x03, 0x00, 0x02, 0x00, 0x02, 0x65, 0xCB}; + uint8_t getRainDataCmd[] = {0x01, 0x03, 0x00, 0x05, 0x00, 0x02, 0xD4, 0x0A}; uart_dev_write(g_rain_uart_handle, getRainDataCmd, sizeof(getRainDataCmd)); } //同时获取光照雨量指令,返回一倍光照,四个字节;十倍雨量两个字节 void getLightRainData(void) { - uint8_t getRainDataCmd[] = {0x01, 0x03, 0x00, 0x00, 0x00, 0x04, 0x44, 0x09}; + uint8_t getRainDataCmd[] = {0x01, 0x03, 0x00, 0x03, 0x00, 0x04, 0xB4, 0x09}; uart_dev_write(g_rain_uart_handle, getRainDataCmd, sizeof(getRainDataCmd)); } @@ -219,7 +219,7 @@ static void rainMsgHandler(device_handle device, u_int8_t *pMsg, u_int32_t MsgLe break; //数据光照雨量 case 13: - msgData[0] = pMsg[7];//光照 + msgData[0] = pMsg[7]; msgData[1] = pMsg[8]; msgData[2] = pMsg[9]; msgData[3] = pMsg[10];