|
各位大佬好~ 小弟刚开始摸索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? 非常感谢各位大佬的任何热心回答~ 谢谢 |
STM32F103C8T6是否支持TIM3的PWM边沿触发AD采集
HAL_I2C_Mem_Read 一直返回 BUSY
CUBEIDE打开一个工程,怎么改变主控芯片的同系列型号?
stm32G030C8T6 官方例程库
STM32G474VET6如何配置HRTIM的中心对齐模式
STM32F103 class b 使用demo
STM32F072CBU6的USB虚拟接口应用
HAL_I2C_Mem_Read_IT读取INA226多个寄存器只有第一个寄存器是对的,其他全为0XFF
STM32H747XG下载一次仿真器就检测不到,运行不能正常
STM8L的bootload中断向量表重映射
微信公众号
手机版
那下面那句,将端点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)