【问题标题】:Waking up Stm32F4 from sleep mode on button press按下按钮时从睡眠模式唤醒 Stm32F4
【发布时间】:2019-10-12 22:41:42
【问题描述】:

我正在使用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);
}

板子进入睡眠模式,但在我按下按钮时没有唤醒。我的代码哪里出错了?

【问题讨论】:

    标签: stm32f4


    【解决方案1】:

    您是否已将 NVIC 中的 EXTI 线路配置为在按下按钮时启动 EXTI ISR?当设备唤醒时,您可能还需要通过调用HAL_ResumeTick() 来恢复 SysTick

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-11-11
      • 2016-12-27
      • 2022-11-13
      • 2017-06-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-08
      相关资源
      最近更新 更多