zhangwpxyz
驱动牛犊
驱动牛犊
  • 注册日期2005-05-10
  • 最后登录2005-12-06
  • 粉丝0
  • 关注0
  • 积分3分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1232回复:2

ISP1160遇到的问题

楼主#
更多 发布于:2005-06-13 22:03
我用的芯片是isp1160, 现在已经能够发SOF包了, 但是怎么也发不出SETUP包。以下是发包以前的寄存器状态(根据具体硬件的设置,应该没错!?)

HcRevision 10
HcControl 80
HcCommandStatus 0
HcInterruptStatus 44
HcInterruptEnable 80000044
HcInterruptDisable 80000044
HcFmInterval 27782edf
HcFmRemaining 9ae
HcFmNumber f
HcLSThreshold 628
HcRhDescriptorA aa001202
HcRhDescriptorB 0
HcRhStatus 0
HcRhPortStatus[1] 110103                  设备连接到端口1!
HcRhPortStatus[2] 100
HcHardwareConfiguration 1409
HcDMAConfiguration 0
HcTransferCounter 12
HcuPInterrupt 15
HcuPInterruptEnable 11
HcChipID 6123
HcScratch 1234
HcITLBufferLength 400
HcATLBufferLength 800
HcBufferStatus 1
HcReadBackITL0Length 0
HcReadBackITL1Length c00
HcITLBufferPort 800
HcATLBufferPort 8

在正确填写HcTransferCounter, 从端口直接发送如下PTD包:
PTD_SETUP_SET_ADDRESS[0x08]= { //set address to 3
0x0800, 0x0808, 0x0008, 0x0000,
0x0500, 0x0003, 0x0000, 0x0000
};


unsigned short PTD_IN[0x12]= {
0x0c00, 0x0800, 0x0800, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000
};


unsigned short PTD_SETUP_GET_DESCRIPTOR[0x08] = {                      //所用设备的描述符是0x12字节
0x0800, 0x0808, 0x0008, 0x0003,
0x0680, 0x0100, 0x0000, 0x0012
};

unsigned short PTD_IN[0x12]= {
0x0c00, 0x0800, 0x0800, 0x0000
0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000
};

读结果的头两个字节还是0x800!
acboy
驱动牛犊
驱动牛犊
  • 注册日期2003-12-14
  • 最后登录2005-06-20
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-06-20 09:30
HcRhPortStatus[1] 110103 设备连接到端口1!

"11"这个地方是不是说resume not completed?
frank.sunny
驱动牛犊
驱动牛犊
  • 注册日期2007-07-26
  • 最后登录2007-08-27
  • 粉丝0
  • 关注0
  • 积分70分
  • 威望8点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2007-08-07 12:48
“11”应该说明端口已经复位成功了
游客

返回顶部