新手上路
- 积分
- 40
- 金钱
- 40
- 注册时间
- 2018-6-6
- 在线时间
- 11 小时
|
7金钱
官方的待机唤醒实验例程是初始化就进入待机,然后唤醒和待机都是按WAKE_UP键三秒。现在不想初始化就待机,于是把初始化中检测是否正常开机这部分注释掉,进入待机还是长按WAKE_UP键三秒,但是唤醒只需要按一下给个上升沿就可以,没法做到初始化就待机时的那种状态(不论唤醒还是进入待机都要长按三秒),请问怎么解决这个问题。
希望初始化后不要进入待机状态,唤醒和进入待机状态仍然是长按三秒,为了防止抖动。
求高手解答,看例程和文档很久都没找到原因,例程其他部分都没有改动过
//PA0 WKUP唤醒初始化
void WKUP_Init(void)
{
GPIO_InitTypeDef GPIO_Initure;
__HAL_RCC_GPIOA_CLK_ENABLE(); //开启GPIOA时钟
GPIO_Initure.Pin=GPIO_PIN_0; //PA0
GPIO_Initure.Mode=GPIO_MODE_IT_RISING; //中断,上升沿
GPIO_Initure.Pull=GPIO_PULLDOWN; //下拉
GPIO_Initure.Speed=GPIO_SPEED_LOW; //快速
HAL_GPIO_Init(GPIOA,&GPIO_Initure);
//检查是否是正常开机
// if(Check_WKUP()==0)
// {
// Sys_Enter_Standby();//不是开机,进入待机模式
// }
HAL_NVIC_SetPriority(EXTI0_IRQn,0x02,0x02);//抢占优先级2,子优先级2
HAL_NVIC_EnableIRQ(EXTI0_IRQn);
}
|
-
问题源码
|