OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 8525|回复: 0
打印 上一主题 下一主题

发现了RT1052的USB虚拟串口例程中的一个BUG

[复制链接]

10

主题

61

帖子

4

精华

高级会员

Rank: 4

积分
908
金钱
908
注册时间
2014-3-3
在线时间
54 小时
跳转到指定楼层
楼主
发表于 2022-11-14 13:44:04 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 bodysuit 于 2022-11-14 15:07 编辑

使用的开发板:RT1052

使用的例子程序:“实验59 USB虚拟串口(Slave)实验”

BUG现象:当USB热拔插之后,USB虚拟串口无法枚举,RT1052死了。

BUG分析:

USB虚拟串口正常通信情况下,收到多少字节,s_recvSize的值即为多少。如果USB虚拟串收到12字节的数,s_recvSize值为0x0000000C。
当USB拔出时,s_recvSize值为0xFFFFFFFF,如果将这个值传入VCP_DataRx,那么BUG产生。

解决方法:

这里给s_recvSize添加一个限定,如果这个值过大,将不予以处理,问题即可解决。

谢谢大家。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /1 下一条

正点原子公众号

如发现本坛存在违规或侵权内容, 请点击这里发送邮件举报 (或致电020-38271790)。请提供侵权说明和联系方式。我们将及时审核依法处理,感谢配合。

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2026-3-31 03:15

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表