【速览】CubeMX2发布了,目前支持C5系列,支持MDK6
VSCODE编译stm32时一直显示正在配置
都是怎么学习TouchGFX的?
STM32F429 跑起来了
mmt 工具如何管理NAND和LCDinterface 设备
寻求 资源互换
stm32 f411偶发性无法启动大神求助
CubeMX再次生成代码时中文注释出现乱码,如何解决?
STM32F407全速USB 回复 STALL 握手包
USB_WritePacket 陷入无限循环
微信公众号
手机版
已解决。原因是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);