在擦除flash时 同时挂起中断 是否会造成卡死以及相关的卡死机制
STM32F401RBT6 USB 大容量存储设备问题
在stm32cuide中打不开stm32cubemx
STM32F407VET6,使用cubeIDE下载跑不起来
FLASH擦除轮询等待时CPU真的会轮询吗
STM32F417 RTC读取亚秒寄存器
关于stm32cubeide下载问题
x-cube-ai或ST Edge AI Core有关算子融合的问题
USB OTG 主机枚举问题
STM32F042 在启动文件内跳转至 USB DFU Bootloader
微信公众号
手机版
已解决。原因是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);