zhaoxinlun
驱动牛犊
驱动牛犊
  • 注册日期2002-09-29
  • 最后登录2004-05-14
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:929回复:0

关于同步管道的分配问题

楼主#
更多 发布于:2003-02-10 14:17
   我现在使用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连续分配啊

游客

返回顶部