阅读:1233回复:2
ISP1160遇到的问题
我用的芯片是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! |
|
沙发#
发布于:2005-06-20 09:30
HcRhPortStatus[1] 110103 设备连接到端口1!
"11"这个地方是不是说resume not completed? |
|
板凳#
发布于:2007-08-07 12:48
“11”应该说明端口已经复位成功了
|
|