阅读:1229回复:3
100分100分求解d12INT电平一直为低,救火呀!!
1.我用的是下降沿中断,我的系统只能这样,不能用低电平中断
2.我已在中断中从0端点收到第一个SETUP包,按要求从1端点发出16个字节的设备描述符. 3.在我发送完描述符后,立即收到一个0X02中断 4.这之后INT一直保持低电平 我想问的是: 1.,在我收到0X02中断后,读控制输入端点的端点状态和最后处理状态寄存器的值全为0.这好像说明上次我发的16个字节描述符信息没有成功发送,为什么?? 2.按我现在的程序是在我收到0X02中断后又把最后的2个字节的设备描述符向端点1写,因为描述符是18个字节第一次只写入了16个字节,这样处理是否正确??是程序有问题吗??程序是我从此网上下载的. 3.为什么这是INT一直是低电平,我已经读了中断寄存器并D12_ReadLastTransactionStatus(1);,为什么电平还是高不起来. 这样直接导致了后面主机发的任何东西我都无法知道,因为产生不了中断了,郁闷呀已经一周都没有进展了, 请高手仙人指路. 我的D12是工作是这样的ALE接地,SUSPEND通过电阻拉高,EOT_N和DMACK_N拉高,DMREQ拉低, 如果有谁也是用这种工作方式并已经成功,如果可以请将程序发送 DANYEHUA@YAHOO.COM.CN万份感谢先!!! BUSHOUND抓的数据如下: ------------------ 9.1 DI 04 . 2.2sc 1.1.0 9.0 CTL a3 00 00 00 - 02 00 04 00 CLASS 63us 2.1.0(2) 9.0 DI 00 01 01 00 .... 81us 2.2.0 9.0 CTL 23 01 10 00 - 02 00 00 00 CLASS 61us 4.1.0 9.0 CTL a3 00 00 00 - 01 00 04 00 CLASS 165us 5.1.0 9.0 DI 00 01 00 00 .... 50us 5.2.0 9.0 CTL a3 00 00 00 - 02 00 04 00 CLASS 38us 6.1.0 9.0 DI 00 01 00 00 .... 33us 6.2.0 9.0 CTL a3 00 00 00 - 01 00 04 00 CLASS 53ms 7.1.0 9.0 DI 00 01 00 00 .... 96us 7.2.0 9.0 CTL a3 00 00 00 - 02 00 04 00 CLASS 64us 8.1.0 9.0 DI 00 01 00 00 .... 32us 8.2.0 9.1 DI 04 . 650ms 9.1.0 9.0 CTL a3 00 00 00 - 02 00 04 00 CLASS 81us 10.1.0(2) 9.0 DI 01 01 01 00 .... 63us 10.2.0 9.0 CTL 23 01 10 00 - 02 00 00 00 CLASS 60us 12.1.0 9.0 CTL a3 00 00 00 - 01 00 04 00 CLASS 155us 13.1.0 9.0 DI 00 01 00 00 .... 35us 13.2.0 9.0 CTL a3 00 00 00 - 02 00 04 00 CLASS 52us 14.1.0(2) 9.0 DI 01 01 00 00 .... 34us 14.2.0 9.0 CTL 23 03 04 00 - 02 00 00 00 CLASS 62us 16.1.0 9.1 DI 04 . 84ms 17.1.0 9.0 CTL a3 00 00 00 - 02 00 04 00 CLASS 81us 18.1.0 9.0 DI 03 01 10 00 .... 64us 18.2.0 9.0 CTL 23 01 14 00 - 02 00 00 00 CLASS 10us 19.1.0 9.0 CTL a3 00 00 00 - 02 00 04 00 CLASS 26ms 20.1.0 9.0 DI 03 01 00 00 .... 99us 20.2.0 9.0 CTL 80 06 00 01 - 00 00 40 00 GET DESCRIPTOR 27ms 21.1.0 9.0 DI 12 01 10 01 - 00 00 00 10 ........ 104ms 21.2.0 71 04 01 18 - 00 01 00 00 q....... 21.2.8 9.0 CTL a3 00 00 00 - 02 00 04 00 CLASS 425us 22.1.0 9.0 DI 03 01 00 00 .... 68us 22.2.0 9.0 CTL 23 03 04 00 - 02 00 00 00 CLASS 2.3ms 23.1.0 9.1 DI 04 . 40ms 24.1.0 9.0 CTL a3 00 00 00 - 02 00 04 00 CLASS 33us 25.1.0 9.0 DI 03 01 10 00 .... 32us 25.2.0 9.0 CTL 23 01 14 00 - 02 00 00 00 CLASS 9us 26.1.0 9.0 CTL 00 05 02 00 - 00 00 00 00 SET ADDRESS 26ms 27.1.0 9.0 CTL a3 00 00 00 - 02 00 04 00 CLASS 5.5sc 28.1.0 9.0 DI 03 01 00 00 .... 100us 28.2.0 9.0 CTL 23 03 04 00 - 02 00 00 00 CLASS 62us 29.1.0 9.1 DI 04 . 84ms 30.1.0 9.0 CTL a3 00 00 00 - 02 00 04 00 CLASS 65us 31.1.0 9.0 DI 03 01 10 00 .... 66us 31.2.0 9.0 CTL 23 01 14 00 - 02 00 00 00 CLASS 24us 32.1.0 9.0 CTL 80 06 00 01 - 00 00 40 00 GET DESCRIPTOR 27ms 33.1.0 9.0 CTL a3 00 00 00 - 02 00 04 00 CLASS 5.5sc 34.1.0 9.0 DI 03 01 00 00 .... 98us 34.2.0 9.0 CTL 23 03 04 00 - 02 00 00 00 CLASS 63us 35.1.0 9.1 DI 04 . 84ms 36.1.0 9.0 CTL a3 00 00 00 - 02 00 04 00 CLASS 64us 37.1.0 9.0 DI 03 01 10 00 .... 65us 37.2.0 9.0 CTL 23 01 14 00 - 02 00 00 00 CLASS 10us 38.1.0 9.0 CTL 80 06 00 01 - 00 00 40 00 GET DESCRIPTOR 27ms 39.1.0 9.0 CTL 23 01 01 00 - 02 00 00 00 CLASS 5.5sc 40.1.0 |
|
沙发#
发布于:2003-12-25 12:02
顶
|
|
板凳#
发布于:2003-12-25 16:58
再顶
|
|
地板#
发布于:2003-12-26 08:59
问题找到了,谢谢大家,
是我加的调试打印(P())函数用的太多,影响了程序的正常运行, |
|