ST的MCU开发
ST的MCU开发
STM32F405rgt6 I2S DMA输入会造成卡死,这个芯片有BUG
STM32H725VGT3内存不足问题
USBX在F407上创建CDC不能正常使用
关于STM32Cubemx 6.15版本生成工程的文件编码的问题
有没有大佬更新了CubeIDE2.0.0,在软件内更新后体积大了一倍
STM32H7 USB3300底层寄存器问题
大家有做USB_CDC_HOST的吗?
STM32H725S没有硬件双缓冲吗?
微信公众号
手机版
已解决。原因是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);