背景:
我用的是stm32f407的Discovery开发板作为device。符合usb2.0规范。
当我PC机没有传输事务需要发起时(可以理解为pc和我的开发板很长一段时间不用进行传输)让PC端将我的device挂起,以避免我的开发板的其他应用程序正常运行(因为如果不挂起的话,device每1ms就会产生一次SOF包中断,从而影响其他程序正常运行,当然此时我也不需要usb嘛,因此需要使usb设备挂起)。
目前我知道的:
1、 当usb没有任何事务时,host会没1ms发起一个sof包给device,只要当大于3ms时没有收到sof包,那么device就会进入suspend(挂起状态)。
我想知道PC端有什么样的接口可以用来阻止发送sof包,从而使device进入挂起状态。或者用什么方式、方法能够使device进入挂起状态。而当PC需要开启一个传输任务时,我的device能够被正常唤醒。
由于项目紧急, 希望大家能够给小弟一点点提示, 小弟我不胜感激! |