打印

USART能不能唤醒STM32的Stop mode?

[复制链接]
6573|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
串口断唤醒功能

使用特权

评论回复
5
hugo0chen| | 2016-4-21 11:31 | 只看该作者
本帖最后由 hugo0chen 于 2016-4-21 11:38 编辑

为低功耗加油 ,stop模式进去了,任何一个中断,就应该能换醒的。为什么不行呢?我程序中涉及到的中断比较多,按键、外部信号、timer还有usart

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

506

主题

2446

帖子

8

粉丝