USART能不能唤醒STM32的Stop mode?

[复制链接]
6894|4
 楼主| huangfeng33 发表于 2014-7-11 15:20 | 显示全部楼层 |阅读模式
if(EXTI_GetITStatus(EXTI_Line10) != RESET)       
{         
       LED1 = 0;
      SystemInit();        
      delay_init(72);               
      printf(" USART WAKEUP stop mode testing ");
}
EXTI_ClearITPendingBit(EXTI_Line10);  

//
GPIO_EXTILineConfig(GPIO_PortSourceGPIOA,GPIO_PinSource10);
EXTI_InitStructure.EXTI_Line=EXTI_Line10;
EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;       
EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising_Falling;
EXTI_InitStructure.EXTI_LineCmd = ENABLE;
EXTI_Init(&EXTI_InitStructure);
捣鼓了一天了,一直没有捣鼓通USART唤醒Stop mode.但是手册上说Any interrupt都能唤醒MCU。然后又试过单独一个RXD作为外部事件来唤醒,但是还是没成!之前通过按键成功控制了,但是到了USART就行不同了。当我单独将RXD作为唤醒引脚时,USART输入又错误!!!       
 楼主| huangfeng33 发表于 2014-7-11 15:21 | 显示全部楼层
补充内容:
GPIO_EXTILineConfig(GPIO_PortSourceGPIOA,GPIO_PinSource10)EXTI_InitStructure.EXTI_Line=EXTI_Line10; EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;         EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising_Falling; EXTI_Trigger_Falling;EXTI_Trigger_Rising EXTI_InitStructure.EXTI_LineCmd = ENABLE; EXTI_Init(&EXTI_InitStructure);         // if(EXTI_GetITStatus(EXTI_Line10) != RESET)         {         LED1 = 0; SystemInit(); delay_init(72);         printf(" USART WAKEUP stop mode testing "); } EXTI_ClearITPendingBit(EXTI_Line10); //Çå³ýEXTI0Ïß·¹ÒÆðλ       
mmuuss586 发表于 2014-7-11 19:16 | 显示全部楼层
jxmzzr 发表于 2014-7-11 20:27 | 显示全部楼层
StopModeWakeUpsunshadeConfig
EnterSTOPMode
串口断唤醒功能
hugo0chen 发表于 2016-4-21 11:31 | 显示全部楼层
本帖最后由 hugo0chen 于 2016-4-21 11:38 编辑

为低功耗加油 ,stop模式进去了,任何一个中断,就应该能换醒的。为什么不行呢?我程序中涉及到的中断比较多,按键、外部信号、timer还有usart
您需要登录后才可以回帖 登录 | 注册

本版积分规则

506

主题

2446

帖子

8

粉丝
快速回复 在线客服 返回列表 返回顶部