diff --git a/Core/Src/gpio.c b/Core/Src/gpio.c index 18e2ad1..8599df8 100644 --- a/Core/Src/gpio.c +++ b/Core/Src/gpio.c @@ -57,8 +57,8 @@ void MX_GPIO_Init(void) HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); - //__HAL_RCC_GPIOA_CLK_DISABLE(); - //__HAL_RCC_GPIOB_CLK_DISABLE(); + __HAL_RCC_GPIOA_CLK_DISABLE(); + __HAL_RCC_GPIOB_CLK_DISABLE(); __HAL_RCC_GPIOC_CLK_DISABLE(); /*Configure GPIO pin Output Level */ @@ -109,7 +109,7 @@ void MX_GPIO_Init(void) GPIO_InitStruct.Pull = GPIO_PULLUP; HAL_GPIO_Init(BUT1_GPIO_Port, &GPIO_InitStruct); - + __HAL_RCC_GPIOB_CLK_ENABLE(); /*Configure GPIO pins : TOF_C_INT_Pin */ #if defined(TOF_1) GPIO_InitStruct.Pin = TOF_C_INT_Pin; diff --git a/Core/Src/main.c b/Core/Src/main.c index bbadc1e..8be6462 100644 --- a/Core/Src/main.c +++ b/Core/Src/main.c @@ -116,6 +116,8 @@ int main(void) MX_LoRaWAN_Init(); /* USER CODE BEGIN 2 */ + HAL_UART_DeInit(&huart2); + vcom_DeInit(); //HAL_Delay(3000); diff --git a/Core/Src/stm32_lpm_if.c b/Core/Src/stm32_lpm_if.c index 29e070b..a2044c9 100644 --- a/Core/Src/stm32_lpm_if.c +++ b/Core/Src/stm32_lpm_if.c @@ -80,17 +80,19 @@ const struct UTIL_LPM_Driver_s UTIL_PowerDriver = void PWR_EnterOffMode(void) { -#if 1 +#if 0 //HAL_GPIO_WritePin(GPIOB, GPIO_PIN_2, GPIO_PIN_RESET); /* LED OFF */ HAL_SuspendTick(); HAL_UART_DeInit(&huart2); //LL_PWR_ClearFlag_WU(); - __HAL_PWR_CLEAR_FLAG(PWR_FLAG_SB); + //__HAL_PWR_CLEAR_FLAG(PWR_FLAG_SB); __HAL_PWR_CLEAR_FLAG(PWR_FLAG_WU); + __HAL_PWR_CLEAR_FLAG(PWR_FLAG_LPMODES); //LL_PWR_ClearFlag_WU(); HAL_PWR_EnterSTANDBYMode(); #endif - + HAL_SuspendTick(); + HAL_PWR_EnterSTANDBYMode(); #if 0 LED_OFF; HAL_UART_DeInit(&huart2); @@ -110,7 +112,7 @@ void PWR_ExitOffMode(void) /* USER CODE BEGIN ExitOffMode_1 */ #if 1 HAL_ResumeTick(); - __HAL_PWR_CLEAR_FLAG(PWR_FLAG_SB); + //__HAL_PWR_CLEAR_FLAG(PWR_FLAG_SB); //HAL_GPIO_WritePin(GPIOB, GPIO_PIN_2, GPIO_PIN_SET); /* LED ON */ return; #endif @@ -126,7 +128,11 @@ void PWR_ExitOffMode(void) void PWR_EnterStopMode(void) { /* USER CODE BEGIN EnterStopMode_1 */ - + HAL_UART_DeInit(&huart2); + vcom_DeInit(); + HAL_GPIO_DeInit(GPIOA,GPIO_PIN_All); + HAL_GPIO_DeInit(GPIOB,GPIO_PIN_All); + HAL_GPIO_DeInit(GPIOC,GPIO_PIN_All); /* USER CODE END EnterStopMode_1 */ HAL_SuspendTick(); /* Clear Status Flag before entering STOP/STANDBY Mode */ diff --git a/Core/Src/sys_app.c b/Core/Src/sys_app.c index 994787b..466d467 100644 --- a/Core/Src/sys_app.c +++ b/Core/Src/sys_app.c @@ -123,6 +123,7 @@ void SystemApp_Init(void) UTIL_LPM_Init(); /* Disable Stand-by mode */ UTIL_LPM_SetOffMode((1 << CFG_LPM_APPLI_Id), UTIL_LPM_DISABLE); + UTIL_LPM_SetOffMode((1 << CFG_LPM_UART_TX_Id), UTIL_LPM_ENABLE); #if defined (LOW_POWER_DISABLE) && (LOW_POWER_DISABLE == 1) /* Disable Stop Mode */