From b59da11afc82fc93802b262219f2335dda289180 Mon Sep 17 00:00:00 2001 From: Razvalyaev Date: Wed, 5 Mar 2025 13:12:54 +0300 Subject: [PATCH] =?UTF-8?q?=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D1=8B=20=D0=B0=D0=B4=D1=80=D0=B5=D1=81=D0=B0=20=D0=B8=20?= =?UTF-8?q?=D0=BE=D1=82=D0=B2=D0=B5=D1=82=20=D0=BD=D0=B0=20=D0=B7=D0=B0?= =?UTF-8?q?=D0=BF=D1=80=D0=BE=D1=81=20=D0=BF=D0=BE=20=D1=80=D0=B5=D0=B3?= =?UTF-8?q?=D0=B8=D1=81=D1=82=D1=80=D0=B0=D0=BC=20=D1=81=D0=BE=20=D0=B2?= =?UTF-8?q?=D1=81=D0=B5=D0=BC=D0=B8=20=D0=BD=D0=B0=D0=B9=D0=B4=D0=B5=D0=BD?= =?UTF-8?q?=D0=BD=D1=8B=D0=BC=D0=B8=20ROM?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Core/Modbus/modbus.c | 5 +++++ Core/Modbus/modbus_data.h | 6 ++++-- MDK-ARM/PY32Dallas.uvoptx | 19 +------------------ 3 files changed, 10 insertions(+), 20 deletions(-) diff --git a/Core/Modbus/modbus.c b/Core/Modbus/modbus.c index 5b29082..3d9f8a7 100644 --- a/Core/Modbus/modbus.c +++ b/Core/Modbus/modbus.c @@ -291,6 +291,11 @@ MB_ExceptionTypeDef MB_DefineRegistersAddress(uint16_t **pRegs, uint16_t Addr, u extern void PYModule_IncrementScanSensor(void); PYModule_IncrementScanSensor(); } + // Все найденные ROM на линии + else if(MB_Check_Address_For_Arr(Addr, Qnt, R_ALL_ROMS_ADDR, R_ALL_ROMS_QNT) == NO_ERRORS) + { + *pRegs = MB_Set_Register_Ptr(&MB_DATA.InRegs, Addr); // начало регистров хранения/входных + } // if address doesnt match any array - return illegal data address response else { diff --git a/Core/Modbus/modbus_data.h b/Core/Modbus/modbus_data.h index c841c33..bdea18b 100644 --- a/Core/Modbus/modbus_data.h +++ b/Core/Modbus/modbus_data.h @@ -71,8 +71,10 @@ typedef struct //MB_DataInRegsTypeDef // DEFINES FOR INPUT REGISTERS ARRAYS #define R_TEMPERATURE_ADDR (0) #define R_TEMPERATURE_QNT (DS18B20_DEVICE_AMOUNT) -#define R_SENS_PARAMS_ADDR (DS18B20_DEVICE_AMOUNT) -#define R_SENS_PARAMS_QNT (sizeof(MB_SensorParamsTypeDef)/sizeof(uint16_t)) +#define R_SENS_PARAMS_ADDR (DS18B20_DEVICE_AMOUNT) // 30 +#define R_SENS_PARAMS_QNT (sizeof(MB_SensorParamsTypeDef)/sizeof(uint16_t)) // 7 +#define R_ALL_ROMS_ADDR (R_SENS_PARAMS_ADDR+R_SENS_PARAMS_QNT + 1) // 38 +#define R_ALL_ROMS_QNT (DS18B20_DEVICE_AMOUNT*4) // DEFINES FOR HOLDING REGISTERS ARRAYS #define R_SENS_INIT_ADDR (0) diff --git a/MDK-ARM/PY32Dallas.uvoptx b/MDK-ARM/PY32Dallas.uvoptx index fe7e885..2c1d52a 100644 --- a/MDK-ARM/PY32Dallas.uvoptx +++ b/MDK-ARM/PY32Dallas.uvoptx @@ -153,24 +153,7 @@ (105=-1,-1,-1,-1,0) - - - 0 - 0 - 252 - 1 -
134221158
- 0 - 0 - 0 - 0 - 0 - 1 - ..\Core\Dallas\dallas_tools.c - - \\Project\../Core/Dallas/dallas_tools.c\252 -
-
+ 0