|
各位大佬好~ 小弟刚开始摸索STM32,结合工作方向,正在学习USB部分,看到STM32_USB-FS-Device_Lib_V4.1.0这个USB库的pack,这个里面的示例有个地方看不明白了。 具体位置是:STM32_USB-FS-Device_Lib_V4.1.0\Projects\Composite_Examples\MSC_HID_Composite这个例子。在这个例子的usb-prop.c中的CustomHID_Reset函数中,这里面是对USB端点的配置,但是里面对Endpoint 2 IN的配置就有点怪。代码片段如下:
就是红框中的这行,为什么这里配置的是端点1的发送count,而不是端点2? 非常感谢各位大佬的任何热心回答~ 谢谢 |
使用单片机的USB PD功能时,初始化一直出错。
请教STM32F103的DMA空闲接收问题
3.3v单片机能刷写1.8v的spi flash吗?
USB连接开发板影响主机风扇的RGB
STM32CubeMX配置STM32F103C8T6 RTC分频器问题
STM32F103RCT6断电以后,ADC会漏电
USBX在F407上创建CDC不能正常使用
STM32F103VCT6通过串口1烧录程序问题
STM32H7 USB3300底层寄存器问题
大家有做USB_CDC_HOST的吗?
微信公众号
手机版
那下面那句,将端点2的发送地址设置到端点1的tx地址上是不是也不太对?
SetEPTxAddr(ENDP2, ENDP1_TXADDR);
因为根据定义:
define ENDP1_TXADDR (0x118)
define ENDP1_RXADDR (0x11C)
这样看,端点1的TX地址后面只有4个字节就是TX1的接收地址了,这个长度也是明显不足64的,否则数据就串了。似乎也应该是ENDP2_TXADDR才是正确的。
/* EP2 *//* tx buffer base address */
#define ENDP2_TXADDR (0x98)
/* Rx buffer base address */
#define ENDP2_RXADDR (0xD8)
/* EP1 */
tx buffer base address
#define ENDP1_TXADDR (0x118)
#define ENDP1_RXADDR (0x11C)