
CubeMX 生成的 STM32H7 CMake 工程打开串口 DMA 无法正常发送数据,如何解决?
STM32F429 二级启动程序 (sboot) 开发难点:LD 文件 / 堆栈 / NVIC 及 startup.s 修改疑问
STM32CubeMx生成代码错误
使用CubeMX能配置STM32L4XX芯片的低功耗模式吗?
debug选项卡中的trace enable选项是灰色的无法勾选
2.0 CubeIDE大概更新时间?
smt32h5 gpdma LL库无法初始化?
STM32双核H7核间通信的方法
yolov5 转onnx 在cubeAI进行部署的时候 部署失败 我想一下大佬们这是什么原因
使用STM32F1能实现USB和fatfs同时访问SD卡吗
已解决。原因是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);