不会上传图片,贴了程序如下
程序:osal_int_connect(KEY2_EXTI_IRQn,2,0,key2_wkup_task_entry,NULL);//WKUP按键2中断唤醒睡眠
osal_int_connect(KEY1_EXTI_IRQn,2,0,key1_stop_task_entry,NULL);//按键1按下执行中断停止
static int key1_stop_task_entry()
{
if((HAL_GPIO_ReadPin(GPIOB, GPIO_PIN_2)) == 0) //若是按键1按下进行睡眠
{
__HAL_RCC_PWR_CLK_ENABLE(); // 使能 PWR 时钟
__HAL_PWR_CLEAR_FLAG(PWR_FLAG_WU); // 清除 Wake_UP 标志
HAL_PWR_EnableWakeUpPin(PWR_WAKEUP_PIN1); // 设置 WKUP PIN1---PA0!!!!!!!!!!!!!!!
HAL_PWR_EnterSTANDBYMode(); // 进入待机模式
}
__HAL_GPIO_EXTI_CLEAR_FLAG(GPIO_PIN_2);//清除中断标志位
}
static int key2_wkup_task_entry()
{
if((HAL_GPIO_ReadPin(GPIOB, GPIO_PIN_3)) == 0) //若是按键(对应PB3==0)按下后执行(PA0致与高位)触发中断进行唤醒
{
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_0, GPIO_PIN_SET);
}
__HAL_GPIO_EXTI_CLEAR_FLAG(GPIO_PIN_3);//清除中断标志位
}
|