我正在使使用STM32F4
的板进入睡眠模式。我想在按下按钮时醒来。我正在使用以下代码实现此目的
void SleepMode(void)
{
GPIO_InitTypeDef GPIO_InitStruct;
MX_GPIO_Deinit();
__HAL_RCC_GPIOC_CLK_ENABLE();
GPIO_InitStruct.Pin = B1_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING;
GPIO_InitStruct.Pull = GPIO_NOPULL;
HAL_GPIO_Init(B1_GPIO_Port, &GPIO_InitStruct);
HAL_UART_DeInit(&huart4);
HAL_SuspendTick();
__HAL_RCC_PWR_CLK_ENABLE();
HAL_PWR_EnterSLEEPMode(0, PWR_SLEEPENTRY_WFI);
}
板子进入睡眠模式,但是当我按按钮时不会唤醒。我的代码在哪里出错?
答案 0 :(得分:0)
您是否已在NVIC中配置EXTI线路以在按下按钮时启动EXTI ISR?当设备唤醒时,您可能还需要通过调用HAL_ResumeTick()