diff --git a/john103C6T6/Core/Inc/dallas_tools.h b/john103C6T6/Core/Inc/dallas_tools.h index f8ffde2..5ddea86 100644 --- a/john103C6T6/Core/Inc/dallas_tools.h +++ b/john103C6T6/Core/Inc/dallas_tools.h @@ -107,8 +107,10 @@ struct _SensorHandleStruct unsigned isConnected:1; ///< Флаг соединения unsigned isInitialized:1; ///< Флаг инициализации unsigned isLost:1; ///< Флаг потери связи + uint16_t lost_cnt; DALLAS_FlagsTypeDef f; ///< Флаги + float set_temp; int hyst; diff --git a/john103C6T6/Core/Inc/ow_port.h b/john103C6T6/Core/Inc/ow_port.h index 4529f82..a4b1404 100644 --- a/john103C6T6/Core/Inc/ow_port.h +++ b/john103C6T6/Core/Inc/ow_port.h @@ -23,14 +23,14 @@ * @brief Порт вывода для шины 1-Wire. * @details Указывает порт GPIO, к которому подключена линия данных 1-Wire (например, для DS18B20). */ -#define OW_GPIO_Port GPIOA +#define OW_GPIO_Port GPIOB /** * @def OW_Pin_Numb * @brief Номер пина в порту OW_GPIO_Port. * @details Используется для формирования маски пина и настройки ввода/вывода. */ -#define OW_Pin_Numb 1 +#define OW_Pin_Numb 9 /** * @def OW_Pin diff --git a/john103C6T6/Core/Src/main.c b/john103C6T6/Core/Src/main.c index 74338bd..a7e9dd8 100644 --- a/john103C6T6/Core/Src/main.c +++ b/john103C6T6/Core/Src/main.c @@ -170,7 +170,7 @@ for ( int i=0; iRomCnt;i++) sens[i].Init.init_func = &Dallas_SensorInitByInd; sens[i].Init.Resolution = DALLAS_CONFIG_9_BITS; sens[i].set_temp =20.; - sens[i].hyst =3; + sens[i].hyst =2; Dallas_AddNewSensors(&hdallas, &sens[i]); } @@ -194,11 +194,16 @@ for ( int i=0; iRomCnt;i++) } + init=MB_DATA.Coils.init_param; Dallas_StartConvertTAll(&hdallas,DALLAS_WAIT_BUS,0); for(int i=0;iRomCnt;i++) { + if(sens[i].isLost) + { + sens[i].lost_cnt ++; + } Dallas_ReadTemperature(&sens[i]); sens[i].set_temp = MB_DATA.HoldRegs.set_Temp[i]; MB_DATA.InRegs.sens_Temp[i]=sens[i].temperature*10; @@ -206,7 +211,7 @@ for ( int i=0; iRomCnt;i++) if (sens[i].temperatureODR|=1<<13; + MB_DATA.Coils.coils.all|=1<RomCnt;i++) if (sens[i].temperature>sens[i].set_temp+sens[i].hyst) { - GPIOC->ODR&=~(1<<13); + MB_DATA.Coils.coils.all&=~(1< 0 1 - sens + sens,0x0A 1 @@ -260,6 +260,10 @@ System Viewer\GPIOA 35904 + + System Viewer\GPIOB + 35900 + System Viewer\IWDG 35905 @@ -365,7 +369,7 @@ 2 6 1 - 0 + 1 0 0 ..\Core\Src\ow_port.c @@ -389,7 +393,7 @@ 2 8 1 - 1 + 0 0 0 ..\Modbus\modbus.c