From 54c8a663e4671c243b1fcf199a4f3a0797089e1b Mon Sep 17 00:00:00 2001 From: Razvalyaev Date: Wed, 5 Mar 2025 12:23:39 +0300 Subject: [PATCH] =?UTF-8?q?=D0=BF=D0=BE=D0=BF=D1=8B=D1=82=D0=BA=D0=B0=20?= =?UTF-8?q?=D0=BF=D0=B5=D1=80=D0=B5=D0=BD=D0=B5=D1=81=D1=82=D0=B8=20=D0=B0?= =?UTF-8?q?=D0=B4=D1=80=D0=B5=D1=81=D0=B0=20=D0=B2=D1=81=D0=B5=D1=85=20?= =?UTF-8?q?=D0=BD=D0=B0=D0=B9=D0=B4=D0=B5=D0=BD=D0=BD=D1=8B=D1=85=20=D1=83?= =?UTF-8?q?=D1=81=D1=82=D1=80=D0=BE=D0=B9=D1=81=D1=82=D0=B2=20=D0=B2=20mod?= =?UTF-8?q?bus=5Fdata?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit почему-то вылетает на Dallas_SensorInit --- Core/Dallas/ds18b20_driver.c | 2 +- Core/Dallas/ds18b20_driver.h | 2 +- Core/Modbus/modbus_data.h | 1 + Core/PY32Module/PY32module_main.c | 5 +++-- 4 files changed, 6 insertions(+), 4 deletions(-) diff --git a/Core/Dallas/ds18b20_driver.c b/Core/Dallas/ds18b20_driver.c index d72ee1a..b553291 100644 --- a/Core/Dallas/ds18b20_driver.c +++ b/Core/Dallas/ds18b20_driver.c @@ -7,7 +7,7 @@ */ #include "ds18b20_driver.h" -DS18B20_Drv_t DS; +DS18B20_Drv_t *DS; OneWire_t OW; /** diff --git a/Core/Dallas/ds18b20_driver.h b/Core/Dallas/ds18b20_driver.h index baf22f6..b5cf8d8 100644 --- a/Core/Dallas/ds18b20_driver.h +++ b/Core/Dallas/ds18b20_driver.h @@ -78,7 +78,7 @@ typedef struct { uint8_t DevAddr[DS18B20_DEVICE_AMOUNT][8]; } DS18B20_Drv_t; -extern DS18B20_Drv_t DS; +extern DS18B20_Drv_t *DS;; extern OneWire_t OW; /* External Function ---------------------------------------------------------*/ diff --git a/Core/Modbus/modbus_data.h b/Core/Modbus/modbus_data.h index 588cbab..15222ce 100644 --- a/Core/Modbus/modbus_data.h +++ b/Core/Modbus/modbus_data.h @@ -54,6 +54,7 @@ typedef struct //MB_DataInRegsTypeDef { uint16_t SensTemperature[DS18B20_DEVICE_AMOUNT]; MB_SensorParamsTypeDef Response; + uint16_t AllROMs[DS18B20_DEVICE_AMOUNT][4]; }MB_DataInRegsTypeDef; diff --git a/Core/PY32Module/PY32module_main.c b/Core/PY32Module/PY32module_main.c index 8cd6dbd..e2713ca 100644 --- a/Core/PY32Module/PY32module_main.c +++ b/Core/PY32Module/PY32module_main.c @@ -79,8 +79,9 @@ void PYModule_FirstInit(void) OW.DataPort = DS_GPIO_Port; /* Инициализация onewire и поиск датчиков*/ + DS = (DS18B20_Drv_t *)&MB_DATA.InRegs.AllROMs; OneWire_Init(&OW); - DS18B20_Search(&DS, &OW); + DS18B20_Search(DS, &OW); /* Инициализация modbus */ @@ -90,7 +91,7 @@ void PYModule_FirstInit(void) /* Инициализация структур датчиков ПЧ */ DallasBus.hdallas = &hdallas1; DallasBus.hdallas->onewire = &OW; - DallasBus.hdallas->ds_devices = &DS; + DallasBus.hdallas->ds_devices = DS; PCHSens_InitModule(&hdallas1, &pchsens.module1, REG_PCH_NUMB_11|REG_PCH_DIODE_NUMB_1); PCHSens_InitModule(&hdallas1, &pchsens.module2, REG_PCH_NUMB_12|REG_PCH_DIODE_NUMB_1); PCHSens_InitModule(&hdallas1, &pchsens.module3, REG_PCH_NUMB_21|REG_PCH_DIODE_NUMB_1);