STM32 USB端点配置问题
本人在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);
请问有什么问题,还需要配置哪些寄存器?
USB 什么协议也不说 天臆弄人 发表于 2019-5-9 14:58
USB 什么协议也不说
2.0全速 返回值是-1 超过范围了 tanic 发表于 2019-5-9 17:24
超过范围了
什么意思,能否详细说说,本人这周才接触的USB 顶一下 USB 用的是什么类型啊,比如说鼠标键盘HID,CDC,U盘,声卡,打印机,好多区别呢, 天臆弄人 发表于 2019-5-10 18:15
USB 用的是什么类型啊,比如说鼠标键盘HID,CDC,U盘,声卡,打印机,好多区别呢, ...
用的HID,可以用libusb获取句柄,但是transfer会失败,其中,bulk和interrupt transfer返回-1,即IO error, control transfer指令返回-12 ,即 not supported error 简单的说,就是能枚举成功,但发送不了数据,MCU也没有中断标志位置位,包括对端点0也会发送失败。
页:
[1]
2