本帖最后由 jaywhitejay 于 2014-7-30 14:46 编辑
大家好!求助这样的问题。
①我按这个步骤进行了实验,成功:系统3.3v供电-> 进入停止模式-> 按键PB9中断-> 成功唤醒。
②我按这个步骤进行了实验,失败:系统3.3v供电-> 进入停止模式-> 系统断电后2.2v电池供电-> 上电PA0唤醒。进行最后一步时PA0无法唤醒。
对于PA0的中断,我进停止模式前开启了管脚唤醒: PWR_WakeUpPinCmd(ENABLE); 并设置了上升沿触发中断。
附程序。献丑了
int main (void) {
RCC_Configuration(); //配置时钟 GPIO_Configuration(); //配置IO口 NVIC_Configuration(); EXTI_Configuration(); while(1) { PWR_WakeUpPinCmd(ENABLE); PWR_EnterSTOPMode(PWR_Regulator_ON, PWR_STOPEntry_WFI);//进入停止模式 } }
void EXTI9_5_IRQHandler(void) /*中断唤醒*/ { if(EXTI_GetITStatus(EXTI_Line9) != RESET) { RCC_Configuration(); //初始化时钟 EXTI_ClearITPendingBit(EXTI_Line9); /*清除中断标记*/
} }
void EXTI0_IRQHandler(void) { if(EXTI_GetITStatus(EXTI_Line0) != RESET) { EXTI_ClearITPendingBit(EXTI_Line0); } }
|