[STM32F1] USART接收不能唤醒Stop mode?

[复制链接]
1267|5
 楼主| InsertTec 发表于 2014-6-11 17:28 | 显示全部楼层 |阅读模式
今天捣鼓了一天这个,没有捣鼓成功。之前也试过用RXD作为外部事件,对MCU进行唤醒,但是USART不能正常使用,失败了!
 楼主| InsertTec 发表于 2014-6-11 17:29 | 显示全部楼层
  1. //配置单个RXD,作为外部事件唤醒       
  2. //        GPIO_EXTILineConfig(GPIO_PortSourceGPIOA,GPIO_PinSource10);
  3. //        EXTI_InitStructure.EXTI_Line=EXTI_Line10;
  4. //        EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;       
  5. //        EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising_Falling;//| EXTI_Trigger_Falling;EXTI_Trigger_Rising
  6. //        EXTI_InitStructure.EXTI_LineCmd = ENABLE;
  7. //        EXTI_Init(&EXTI_InitStructure);               
airwill 发表于 2014-6-11 22:37 | 显示全部楼层
Stop 模式, 时钟已经停止, 所以 USART 肯定不能唤醒了.
但是可以使用引脚中断信号唤醒.
 楼主| InsertTec 发表于 2014-6-11 23:20 | 显示全部楼层
airwill 发表于 2014-6-11 22:37
Stop 模式, 时钟已经停止, 所以 USART 肯定不能唤醒了.
但是可以使用引脚中断信号唤醒. ...

开始也是捣鼓了半天,后来换成直接从RXD引出外部中断。但是试过还是不成功。RXD无论配置成上升沿或是下降沿都不成吧?
airwill 发表于 2014-6-12 07:05 | 显示全部楼层
来自编程参考手册的说明:
停止模式   退出
如果执行WFI进入停止模式:
设置任一外部中断线为中断模式(在NVIC中必须使能相应的外部中断向量)。参见中断向量表(表54)。
如果执行WFE进入停止模式:
设置任一外部中断线为事件模式。参见唤醒事件管理(第9.2.3节)。

评分

参与人数 1威望 +1 收起 理由
InsertTec + 1 很给力!

查看全部评分

 楼主| InsertTec 发表于 2014-6-12 11:01 | 显示全部楼层
airwill 发表于 2014-6-12 07:05
来自编程参考手册的说明:
停止模式   退出
如果执行WFI进入停止模式:

老师我通过按键配置成外部中断唤醒可以。但是现在USART的RXD怎么弄,这里中断模式和事件模式有点不懂了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

9

帖子

0

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