阅读:929回复:0
关于同步管道的分配问题
我现在使用CYPRESS的EZ-USB开发产品,现在发现一个问题,就是对同步管道分配的问题,有兴趣的可以一起看一下:
我要将同步管道的BUF分成两个同步IN管道,一个大小为0x3D0,一个大小为0x20,当我将程序下载到芯片中时,程序在芯片中正常运行,但是当芯片重枚举后,主机就要向EZ-USB读取管道配置信息,这时候主机蓝屏重起; 当我只分配个一个管道时,该管道大小仍为0X3D0大小,程序正常工作,而主机不会死,我的程序如下: IntrfcDscr: db IntrfcDscrEnd-IntrfcDscr ;; Descriptor length db DSCR_INTRFC ;; Descriptor type db 0 ;; Zero-based index of this interface db 0 ;; Alternate setting db 3 ;; Number of end points db 0ffH ;; Interface class db 00H ;; Interface sub class db 00H ;; Interface sub sub class db 4 ;; Interface descriptor string index IntrfcDscrEnd: EpInDscr: //第一同步管道 EpIn1Dscr: db EpIn1DscrEnd-EpIn1Dscr ;; Descriptor length db DSCR_ENDPNT ;; Descriptor type db 88H ;; Endpoint number, and direction db ET_ISO ;; Endpoint type db 0DFH ;; Maximun packet size (LSB) db 03H ;; Max packect size (MSB) db 01H ;; Polling interval EpIn1DscrEnd: //第二同步管道 EpIn2Dscr: db EpIn2DscrEnd-EpIn2Dscr ;; Descriptor length db DSCR_ENDPNT ;; Descriptor type db 89H ;; Endpoint number, and direction db ET_ISO ;; Endpoint type db 20H ;; Maximun packet size (LSB) db 00H ;; Max packect size (MSB) db 01H ;; Polling interval EpIn2DscrEnd: 大家看看,什么地方出了问题,是不是不能88H,89H连续分配啊 |
|