OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 7558|回复: 2

关于USB唤醒中断的疑问

[复制链接]

63

主题

305

帖子

1

精华

高级会员

Rank: 4

积分
853
金钱
853
注册时间
2012-8-3
在线时间
79 小时
发表于 2015-5-9 18:34:23 | 显示全部楼层 |阅读模式
5金钱
在USB鼠标实验中有2个中断函数:

[mw_shl_code=c,true]void USB_LP_CAN_RX0_IRQHandler(void) { USB_Istr(); } void USBWakeUp_IRQHandler(void) { EXTI->R|=1<<18;//清除USB唤醒中断挂起位 #ifdef DEBUG printf("USB待机唤醒中断请求\n"); #endif }[/mw_shl_code]
USBWakeUp_IRQHandler连接到EXTI线18,由USB唤醒事件触发。
但是USB_Istr中也有判断ISTR_WKUP标志的代码,ISTR_WKUP标志也是由USB唤醒事件触发的么?这样USB唤醒岂不是会同时触发2个中断(USB_LP_CAN_RX0_IRQHandler和USBWakeUp_IRQHandler)?
另外USB唤醒事件是什么事件呢?是接收到主机发来的唤醒请求么?
USB_Istr也包含了对唤醒中断的处理:

[mw_shl_code=c,true]#if (IMR_MSK & ISTR_WKUP) if (wIstr & ISTR_WKUP & wInterrupt_Mask) { _SetISTR((u16)CLR_WKUP); #ifdef DEBUG printf("ISTR唤醒中断\n"); #endif Resume(RESUME_EXTERNAL); #ifdef WKUP_CALLBACK WKUP_Callback(); #endif } #endif /*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ #if (IMR_MSK & ISTR_SUSP) if (wIstr & ISTR_SUSP & wInterrupt_Mask) { /* check if SUSPEND is possible */ if (fSuspendEnabled) { Suspend(); } else { /* if not possible then resume after xx ms */ Resume(RESUME_LATER); } /* clear of the ISTR bit must be done after setting of CNTR_FSUSP */ _SetISTR((u16)CLR_SUSP); #ifdef DEBUG printf("USB挂起中断\n"); #endif #ifdef SUSP_CALLBACK SUSP_Callback(); #endif[/mw_shl_code]
观察打印信息,确实看到触发USBWakeUp_IRQHandler之后同时也打印了Usb_Istr中的ISTR唤醒中断:
USB待机唤醒中断请求
USB待机唤醒中断请求
ISTR_唤醒
USB总线复位
USB总线挂起
USB待机唤醒中断请求
ISTR_唤醒
USB总线复位
端点 0 输出中断
端点 0 输出中断
端点 0 输出中断


正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-5-9 22:29:58 | 显示全部楼层
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

63

主题

305

帖子

1

精华

高级会员

Rank: 4

积分
853
金钱
853
注册时间
2012-8-3
在线时间
79 小时
 楼主| 发表于 2015-5-10 20:58:37 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
呵呵, 原子哥不懂的也帮忙顶,真是太感人了。这个问题看来要问FAE了,可惜论坛没有@ST-FAE-SALE的功能
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-22 17:05

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表