/** * @brief 低功耗模式下的按键初始化(用于唤醒睡眠模式/停止模式) * @param 无 * @retval 无 */ void pwr_wkup_key_init(void) { GPIO_InitTypeDef gpio_init_struct; PWR_WKUP_GPIO_CLK_ENABLE(); /* WKUP时钟使能 */ gpio_init_struct.Pin = PWR_WKUP_GPIO_PIN; /* WKUP引脚 */ gpio_init...
HAL_Delay(500); HAL_PWR_EnableWakeUpPin(PWR_WAKEUP_PIN1); //配置唤醒引脚 PA0 HAL_PWR_EnterSTANDBYMode();//进入待机模式 //退出待机模式程序会重新开始执行,所有后面没代码 细节一 待机模式,相当于软启动。就是如果退出待机模式,代码会重头执行,不会接着执行。相当于重启了一次。 源码例程(可以直接来看...
HAL_PWR_EnableWakeUpPin(PWR_WAKEUP_PIN1); // 进入STOP模式 HAL_PWR_EnterSTOPMode(PWR_LOWPOWERREGULATOR_ON, PWR_STOPENTRY_WFI); } void sys_enter_standby_mode(void) { // 使能PWR时钟 __HAL_RCC_PWR_CLK_ENABLE(); // 清除唤醒标记 __HAL_PWR_CLEAR_FLAG(PWR_FLAG_WU); // 如果使用WK-UP...
HAL_PWR_DisableWakeUpPin(PWR_WAKEUP_PIN1); /* 清除所有唤醒标志位 */ __HAL_PWR_CLEAR_FLAG(PWR_FLAG_WU); /* 使能唤醒引脚:PA0做为系统唤醒输入 */ HAL_PWR_EnableWakeUpPin(PWR_WAKEUP_PIN1); /* 进入待机模式 */ HAL_PWR_EnterSTANDBYMode(); } __HAL_GPIO_EXTI_CLEAR_IT(KEY2_GPIO_PIN)...
Wakeup唤醒引脚配置:HAL_PWR_EnableWakeUpPin() / HAL_PWR_DisableWakeUpPin()低功耗模式配置:HAL_PWR...
HAL_PWR_EnableWakeUpPin(PWR_WAKEUP_PIN1); //设置WKUP用于唤醒 HAL_PWR_EnterSTANDBYMode(); //进入待机模式 } //检测WKUP脚的信号 //返回值1:连续按下3s以上 // 0:错误的触发 u8 Check_WKUP(void) { u8 t=0; //记录按下的时间 LED0=0; //亮灯DS0 ...
例如,HAL_PWR_EnterSleepMode()用于进入睡眠模式,HAL_PWR_EnableWakeUpPin()用于使能唤醒引脚等。
程序执行一段时间后,我们先用库函数HAL_PWREx_EnableFlashPowerDown设置FLASH的在停止状态时使用掉电模式, 接着调用库函数HAL_PWR_EnterSTOPMode把调压器设置在低功耗模式,进入停止状态。由于WFI停止模式可以使用任意EXTI的中断唤醒,所以我们可以使用按键中断唤醒。
/* Re-enable all used wakeup sources: Pin6(PI.11) */HAL_PWR_EnableWakeUpPin(PWR_WAKEUP_PIN6);/* Enable BKPRAM Clock */__HAL_RCC_BKPSRAM_CLK_ENABLE();/* Enable the Backup SRAM low power Regulator */HAL_PWREx_EnableBkUpReg();/* Request to enter STANDBY mode */HAL_PWR_Enter...
下图,唯一的代码区别是是启用HAL_PWREx_EnterSHUTDOWNMode()还是HAL_PWR_EnterSTANDBYMode()。__HAL 程序诗人 2022-12-13 07:42:48 探索板上停止模式下的STM32L4R9功耗数据与电气特性不匹配怎么处理? _RCC_PWR_CLK_ENABLE();HAL_PWREx_EnterSTOP0Mode(PWR_STOPENTRY_WFE);//HAL_PWREx_EnterSTOP1Mode(...