stm32 usb hid设备能发数据给PC,但不能接收PC的数据!!!
无法通过 SPI 读取 TCD1304数据
MotorControl Workbench 6.4.1 生成 FOC 项目代码后运行死机。
CubeMX lwip支持的phy芯片型号只支持一个吗?
F407的SDIO的硬件分流问题
workbench5.3.1生成代码问题
STM32WL55如何进行ota?
STM32CubeMX对STM32H723VET6芯片生成USB Audio Class接口时,只能生成扬声器模式,不能生成麦克风模式?如果要修改为麦克风设备改怎么修改?
STM32H723FDCANT通信
STLink下载程序失败,Flash部分地址不能写入
微信公众号
手机版
已解决。原因是FIFO没有分配好,这个是在usbd_conf.c的USBD_LL_Init()中操作的。同时要注意STM32CubeMX默认的FIFO分配过大,覆盖了后面的端点,应当按需分配,也就是描述符设置多大FIFO就分配多大。关键函数HAL_PCDEx_SetTxFiFo()。
CDC和HID设备我都尝试过,为了避免端点没有初始化,我还特地没有增加端点,只是修改STM32CubeMX生成的代码对应IN端点的宏,以确保不会影响端点的配置流程。从我OUT端点的修改有效来看,应当不是描述符配置问题。
问题已解决。参考资料:https://bbs.21ic.com/icview-1589200-1-1.html
需要注意的是,FIFO要和端点的缓存需求匹配。
问题已解决。
参考资料:https://bbs.21ic.com/icview-1589200-1-1.html
需要注意的是,FIFO要和端点的缓存大小一致。
你除了对端点号的宏值做修改外, 比方:
#define CDC_IN_EP 0x83U
有个地方还需要调整下,针对端点3.至于那个0x80大小你看情况。
其它地方,库函数结合宏定义都做了相应配置。
HAL_PCDEx_SetTxFiFo(&hpcd_USB_OTG_FS, 3, 0x80);
我这边验证是没问题的。
[md]昨天我找F401开发板验证过了。估计是你FIFO配置方面的问题。
关于IN 端点FIFO配置的地方,要手动,目前不能简单跟着端点宏来做配置。
比方:HAL_PCDEx_SetTxFiFo(&hpcd_USB_OTG_FS, 3, 0x80);