|
各位大佬好~ 小弟刚开始摸索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? 非常感谢各位大佬的任何热心回答~ 谢谢 |
STM32F103RCT6断电以后,ADC会漏电
STM32CubeMX配置STM32F103C8T6 RTC分频器问题
请教STM32F103的DMA空闲接收问题
USBX在F407上创建CDC不能正常使用
STM32F103VCT6通过串口1烧录程序问题
STM32H7 USB3300底层寄存器问题
大家有做USB_CDC_HOST的吗?
STM32F769I-DISCO开发包LCD DSI示例程序如何回读LCD 驱动IC的寄存器?
F103的IIC支持高速400K频率吗?
为什么用cubemax生成f103c8t6的freertos在编译时会报错
微信公众号
手机版
那下面那句,将端点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)