21ic问答首页 - 【GD32的BUG】GD32F405 使用 USB HS 无法接收大于512字节的数据
【GD32的BUG】GD32F405 使用 USB HS 无法接收大于512字节的数据
lewlew2020-11-16
本帖最后由 lewlew 于 2020-11-17 09:50 编辑
单片机烧录的是 GD32F4xx_Firmware_Library_V2.1.1 固件库自带的CDC例程, 路径是:
Examples\USB\USB_Device\cdc_acm
代码只修改了 GPIO 初始化部分, 以匹配我使用的 GD32F405RGT6 的 ULPI 引脚.
烧录后插上电脑, 串口助手能正常通信, 发送小于等于 512 字节的数据完全没问题, 但是超过 512 字节的数据就会丢失.
请问这是什么情况?
单片机烧录的是 GD32F4xx_Firmware_Library_V2.1.1 固件库自带的CDC例程, 路径是:
Examples\USB\USB_Device\cdc_acm
代码只修改了 GPIO 初始化部分, 以匹配我使用的 GD32F405RGT6 的 ULPI 引脚.
烧录后插上电脑, 串口助手能正常通信, 发送小于等于 512 字节的数据完全没问题, 但是超过 512 字节的数据就会丢失.
请问这是什么情况?
赞0
楼主有没有用STM32F系列单片机芯片驱动USB3300、USB3320、CH132这类ULPI接口芯片的代码?现在在学习相关知识想看看代码了解得更快一些,谢谢
评论
2022-04-26
赞0
基于 F4XX 2.1.1 固件库版本 按以下流程操作:
1. 修改 Firmware/GD32F4xx_usb_library/driver/Source/drv_usbd_int.c:353 行
把
if ((1U == ep_num)
修改为
if ((3U == ep_num)
2. 修改 Firmware/GD32F4xx_usb_library/device/class/cdc/Include/cdc_acm_core.h:41 行
把
#define USB_CDC_RX_LEN 64
修改为
#define USB_CDC_RX_LEN USB_CDC_DATA_PACKET_SIZE
之所以说暂时缓解, 是因为测试发现, 发送 13313 字节后, 依然存在收发长度不一致的问题.
正在与工程师继续沟通中...
评论
2020-11-20
赞0
现在是能通信, 只是数据不完整. 改头文件可以解决?
评论
2020-11-19
赞0
评论
2020-11-19
赞0
发现BUG根源的能力有,但是修复BUG所需的一些细节,比如中断为什么丢了,可能只有官方的人才知道。
评论
2020-11-18
赞0
评论
2020-11-18
赞0
要是有多余的板子的话我就买个也回来玩玩试试
评论
2020-11-18
赞0
有, 可以加个联系方式吗?
评论
2020-11-18
赞0
有多余的板子玩吗
评论
2020-11-18
您需要登录后才可以回复 登录 | 注册