阅读:1326回复:1
为什么会pending?
我在ezusb上做实验,用固件框架生成了firmare,
改了periph.c中ep1out中断的内容,让它一中断 就往七段led写个数字。然后用driverstudio生成 了一个usb驱动,使用默认的ep1out的写操作,在 test_mydevice里面这样写: char buf[20]; ULONG nWritten=20; for(int i=0;i<20;i++) buf=0x00; buf[0]=0x05; printf(\"Writing to device - \"); WriteFile(hDevice, buf, 20, &nWritten, NULL); 然后用softice跟踪,发现writecomplete一直没执行, 强行关掉test_mydevice时,才跳到writecomplete, 并且显示该irp处于pending状态。请有经验的大虾指点我一下, 已经郁闷很久了,解决了问题,我一定给分。 |
|
沙发#
发布于:2003-05-08 22:20
你能确定你每次从USB设备中读数据时(如果有的话)相应的固件中的控制位都被正确地设置了吗?这是pending 很常见的一种原因。
|
|