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