加載USB配置值錯誤?。?![求助]

/* 電腦軟件讀出描述符 如下: Device Descriptor: bcdUSB: 0x0200 bDeviceClass: 0x00 bDeviceSubClass: 0x00 bDeviceProtocol: 0x00 bMaxPacketSize0: 0x40 (64) idVendor: 0x03F0 (Hewlett Packard) idProduct: 0xC402 bcdDevice: 0x0100 iManufacturer: 0x01 iProduct: 0x02 iSerialNumber: 0x03 bNumConfigurations: 0x01

ConnectionStatus: DeviceConnected Current Config Value: 0x01 Device Bus Speed: Full Device Address: 0x01 Open Pipes: 6

Endpoint Descriptor: bEndpointAddress: 0x0A Transfer Type: Bulk wMaxPacketSize: 0x0200 (512) bInterval: 0x00

Endpoint Descriptor: bEndpointAddress: 0x8B Transfer Type: Bulk wMaxPacketSize: 0x0200 (512) bInterval: 0x00

Endpoint Descriptor: bEndpointAddress: 0x07 Transfer Type: Bulk wMaxPacketSize: 0x0200 (512) bInterval: 0x00

Endpoint Descriptor: bEndpointAddress: 0x88 Transfer Type: Bulk wMaxPacketSize: 0x0200 (512) bInterval: 0x00

Endpoint Descriptor: bEndpointAddress: 0x04 Transfer Type: Bulk wMaxPacketSize: 0x0200 (512) bInterval: 0x00

Endpoint Descriptor: bEndpointAddress: 0x85 Transfer Type: Bulk wMaxPacketSize: 0x0200 (512) bInterval: 0x00 */

/* 采用外部固件方式 單片機讀出打印機描述符 如下: 9 2 65 0 3 1 0 C0 1 9 4 0 0 2 7 1 2 0 7 5 0A 2 40 0 0 7 5 8B 2 40 0 0 9 4 1 0 2 FF FF FF 0 7 5 7 2 40 0 0 7 5 88 2 40 0 0 9 4 1 1 2 FF D4 0 0 7 5 7 2 40 0 0 7 5 88 2 40 0 0 9 4 2 0 2 8 6 50 0 7 5 4 2 40 0 0 7 5 85 2 40 0 0 */

if(status==USB_INT_SUCCESS) //操作成功則讀出描述符并分析 { if(p_cfg_descr->itf_descr.bInterfaceClass!=7) return(UNKNOWN_USB_PRINT); if(p_cfg_descr->itf_descr.bInterfaceSubClass!=1 ) return(UNKNOWN_USB_PRINT); //不是USB打印機或者不符合USB規(guī)范 endp_out_addr=endp_in_addr=0; c=p_cfg_descr->endp_descr[0].bEndpointAddress; //第一個端點的地址 if(c&0x80) //IN端點的地址 endp_in_addr=c&0x0f; else //OUT端點 { endp_out_addr=c&0x0f; endp_out_size=p_cfg_descr->endp_descr[0].wMaxPacketSize; //數(shù)據(jù)接收端點的最大包長度 } if(p_cfg_descr->itf_descr.bNumEndpoints>=2) //接口有兩個以上的端點 { if(p_cfg_descr->endp_descr[1].bDescriptorType==5 ) //端點描述符 { c=p_cfg_descr->endp_descr[1].bEndpointAddress; //第二個端點的地址 if(c&0x80) //IN端點 endp_in_addr=c&0x0f; else //OUT端點 { endp_out_addr=c&0x0f; endp_out_size=p_cfg_descr->endp_descr[1].wMaxPacketSize; } } } if(p_cfg_descr->itf_descr.bInterfaceProtocol<=1 ) endp_in_addr=0; //單向接口不需要IN端點 if(endp_out_addr==0) //不是USB打印機或者不符合USB規(guī)范 return(UNKNOWN_USB_PRINT); status=set_config( p_cfg_descr->cfg_descr.bConfigurationValue); //加載USB配置值 if(status==USB_INT_SUCCESS) { CH375_WR_CMD_PORT( CMD_SET_RETRY ); //設(shè)置USB事務(wù)操作的重試次數(shù) CH375_WR_DAT_PORT( 0x25 ); CH375_WR_DAT_PORT( 0x89 ); //位7為1則收到NAK時無限重試, 位3~位0為超時后的重試次數(shù) /* 如果單片機在打印機忙時并無事可做,建議設(shè)置位7為1, 使CH375在收到NAK時自動重試直到操作成功或者失敗 */ /* 如果希望單片機在打印機忙時能夠做其它事,那么應(yīng)該 設(shè)置位7為0,使CH375在收到NAK時不重試,所以在下面 的USB通訊過程中,如果USB打印機正忙,issue_token 等子程序?qū)⒌玫綘顟B(tài)碼USB_INT_RET_NAK */ } } return(status); //status 返回 F1


熱門產(chǎn)品 : USB3.0 HUB控制器:CH634

因為你的設(shè)備是復(fù)合設(shè)備,錯誤代碼是0XF1,如果你參考我們例子程序的話,一般來說返回0XF1是未知的設(shè)備. 不知道你是怎么監(jiān)視程序是在加載USB配置值出現(xiàn)錯誤的.個人懷疑是可能是返回了一個未知設(shè)備的錯誤.因為你的打印機是個復(fù)合的設(shè)備所以操作上要注意這點.


請問向這種復(fù)合設(shè)備應(yīng)該怎么操作呀?


只有登錄才能回復(fù),可以選擇微信賬號登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频