因为我的项目对时间要求比较高,综合了一下最近的测试结果,想请问官方两个问题:
先是场景:
我的唤醒IO口是B12,B14,上升沿触发,如下:
GPIOB_ModeCfg(1<<12, GPIO_ModeIN_PD);
GPIOB_ITModeCfg(1<<12, GPIO_ITMode_RiseEdge);
//唤醒 WUK
GPIOB_ModeCfg(1<<14, GPIO_ModeIN_PD);
GPIOB_ITModeCfg(1<<14, GPIO_ITMode_RiseEdge);
PFIC_EnableIRQ(GPIO_B_IRQn);
PWR_PeriphWakeUpCfg(ENABLE, RB_SLP_GPIO_WAKE, Short_Delay);
设置睡眠时我是否可以关掉B12的中断,这里没有找到关单个pin的函数?
问题1:我在LowPower_Shutdown(0)函数前判断了B12,B14的电平,确保不在唤醒状态。但因为我不确保B12、B14何时中断,看论坛里的帖子,如果无法正确睡眠,会进入idle模式?
问题2:之前使用的时Long_Delay参数,有时候会无法响应,这里改成Short_Delay,效果会好很多。对这个参数不是很理解,库里只有01,00选项,为了安全我是否可以设置到10?Tsuclk和1个周期,大概是多少?对PCB和晶振是否会有一定的要求?