|
本人在windows下用libusb对STM32F103通信,其中libusb_interrupt_transfer函数会报错。检查过设备描述符和端点描述符,是没有问题的,句柄也可以获得。现在怀疑是端点的配置问题,reset函数中端点1配置如下: SetEPType(ENDP0, EP_CONTROL); SetEPTxStatus(ENDP0, EP_TX_STALL); SetEPRxAddr(ENDP0, ENDP0_RXADDR); SetEPTxAddr(ENDP0, ENDP0_TXADDR); Clear_Status_Out(ENDP0); SetEPRxCount(ENDP0, Device_Property.MaxPacketSize); SetEPRxValid(ENDP0); /* Initialize Endpoint 1 */ SetEPType(ENDP1, EP_INTERRUPT); SetEPTxAddr(ENDP1, ENDP1_TXADDR); SetEPRxAddr(ENDP1, ENDP1_RXADDR); SetEPTxCount(ENDP1, 2); SetEPRxCount(ENDP1, 2); SetEPRxStatus(ENDP1, EP_RX_VALID); SetEPTxStatus(ENDP1, EP_TX_NAK); 请问有什么问题,还需要配置哪些寄存器? |
微信公众号
手机版
2.0全速
评分
查看全部评分
什么意思,能否详细说说,本人这周才接触的USB
评分
查看全部评分
用的HID,可以用libusb获取句柄,但是transfer会失败,其中,bulk和interrupt transfer返回-1,即IO error, control transfer指令返回-12 ,即 not supported error