diff --git a/john103C6T6/Core/Inc/main.h b/john103C6T6/Core/Inc/main.h index 1552111..4687a72 100644 --- a/john103C6T6/Core/Inc/main.h +++ b/john103C6T6/Core/Inc/main.h @@ -61,12 +61,15 @@ typedef struct /* Exported types ------------------------------------------------------------*/ /* USER CODE BEGIN ET */ +#define reset_blink_delay 10 +#define rest_iter 10 extern void handle_command(char* cmd); typedef void (*FunctionPointer)(void); uint16_t handle_valves(TEMP* tmp_sense); void init_all_T_sense(void); void iwdg_refresh(void); +void led_blink(GPIO_TypeDef *GPIOx,uint16_t GPIO_Pin,uint8_t iter,uint16_t delay); /* USER CODE END ET */ diff --git a/john103C6T6/Core/Src/main.c b/john103C6T6/Core/Src/main.c index 74338bd..ac5b0e0 100644 --- a/john103C6T6/Core/Src/main.c +++ b/john103C6T6/Core/Src/main.c @@ -29,7 +29,8 @@ #include "def.h" #include - #include "rs_message.h" +#include "rs_message.h" + /* USER CODE END Includes */ @@ -117,63 +118,29 @@ int main(void) MX_USART1_UART_Init(); MX_TIM2_Init(); MX_ADC1_Init(); - /* USER CODE BEGIN 2 */ - //TIM1->DIER |= TIM_DIER_UIE; -// HAL_TIM_Base_MspInit(&htim1); -// HAL_TIM_Base_Start(&htim1); - GPIOC->ODR^=(1<<13); - HAL_Delay(50); - GPIOC->ODR^=(1<<13); - HAL_Delay(50); - GPIOC->ODR^=(1<<13); - HAL_Delay(50); - GPIOC->ODR^=(1<<13); - HAL_Delay(50); - GPIOC->ODR^=(1<<13); - HAL_Delay(50); - GPIOC->ODR^=(1<<13); - HAL_Delay(50); - GPIOC->ODR^=(1<<13); - HAL_Delay(50); - GPIOC->ODR^=(1<<13); - HAL_Delay(50); - GPIOC->ODR^=(1<<13); - HAL_Delay(50); - GPIOC->ODR^=(1<<13); - HAL_Delay(50); - GPIOC->ODR^=(1<<13); - HAL_Delay(50); - GPIOC->ODR^=(1<<13); - HAL_Delay(50); - GPIOC->ODR&=~(1<<13); - //DS18B20_Init(GPIOA, GPIO_PIN_1); - MODBUS_FirstInit(); + /* USER CODE BEGIN 2 */ + + led_blink(GPIOC,GPIO_PIN_13,rest_iter,reset_blink_delay); + MODBUS_FirstInit(); uint8_t uart_byte = 0; RS_Receive_IT(&hmodbus1, &MODBUS_MSG); - //HAL_UART_Receive_IT(&huart1, &uart_byte, 1); - - Dallas_BusFirstInit(&htim1); - - // инициализация по порядку найденных датчиков // Инициализация по индексу (порядковому номеру найденного датчика) -for ( int i=0; iRomCnt;i++) -{ - + for ( int i=0; iRomCnt;i++) + { + // Инициализация по ROM-адресу + //sens[i].Init.init_func = &Dallas_SensorInitByROM; + // sens[i].Init.InitParam.ROM = rom_address; + sens[i].Init.InitParam.Ind = i; + sens[i].Init.init_func = &Dallas_SensorInitByInd; + sens[i].Init.Resolution = DALLAS_CONFIG_9_BITS; + MB_DATA.HoldRegs.set_Temp[i] =sens[i].set_temp =20.; + sens[i].hyst =3; + Dallas_AddNewSensors(&hdallas, &sens[i]); -// Инициализация по ROM-адресу - //sens[i].Init.init_func = &Dallas_SensorInitByROM; - // sens[i].Init.InitParam.ROM = rom_address; - sens[i].Init.InitParam.Ind = 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; - Dallas_AddNewSensors(&hdallas, &sens[i]); - -} + } /* USER CODE END 2 */ /* Infinite loop */ @@ -284,7 +251,14 @@ void SystemClock_Config(void) { IWDG->KR = 0xAAAA; // Сбросить таймер } - +void led_blink(GPIO_TypeDef *GPIOx,uint16_t GPIO_Pin,uint8_t iter,uint16_t delay) + { + for(int i=0;iODR^=(1<Instance == USART1)