попытка перенести адреса всех найденных устройств в modbus_data

почему-то вылетает на Dallas_SensorInit
This commit is contained in:
2025-03-05 12:23:39 +03:00
parent 458d2d77c9
commit 54c8a663e4
4 changed files with 6 additions and 4 deletions

View File

@@ -7,7 +7,7 @@
*/
#include "ds18b20_driver.h"
DS18B20_Drv_t DS;
DS18B20_Drv_t *DS;
OneWire_t OW;
/**

View File

@@ -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 ---------------------------------------------------------*/

View File

@@ -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;

View File

@@ -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);