查看: 1445|回复: 6

[求助] RT1061的USB虚拟串口

[复制链接]

该用户从未签到

2

主题

6

帖子

0

注册会员

Rank: 2

积分
51
最后登录
2021-11-2
发表于 2021-6-8 19:30:34 | 显示全部楼层 |阅读模式
各位,在使用SDK的usb_device_cdc_vcom/bm例子,移植到rt-thread上面,然后测试大数据收发的时候,在发送的地方,如果每次发送4000个字节就会导致在pc上面收到的数据,最后几个字节变成\0,如果每次发送500个字节(DMA大小),就必须要延时1ms才能继续发送,否则就会上报busy,各位有没有方案或者解决方法指导一下呢?
刚接触这个芯片到今天刚好一周.
回复

使用道具 举报

该用户从未签到

656

主题

6312

帖子

0

超级版主

Rank: 8Rank: 8

积分
20001
最后登录
2024-4-24
发表于 2021-6-10 09:44:37 | 显示全部楼层
楼主你好,如果单独测试官方的freertos的版本,是否会出现你所porting的RT thread的问题?
回复 支持 反对

使用道具 举报

该用户从未签到

2

主题

6

帖子

0

注册会员

Rank: 2

积分
51
最后登录
2021-11-2
 楼主| 发表于 2021-6-15 15:44:57 | 显示全部楼层
小恩GG 发表于 2021-6-10 09:44
楼主你好,如果单独测试官方的freertos的版本,是否会出现你所porting的RT thread的问题? ...

原来的例程是用的DMA发送吧,每次都是最大500个字节啊,而且例程是不断地轮训是否有新的数据收到进行发送的啊
回复 支持 反对

使用道具 举报

该用户从未签到

656

主题

6312

帖子

0

超级版主

Rank: 8Rank: 8

积分
20001
最后登录
2024-4-24
发表于 2021-6-16 15:58:16 | 显示全部楼层
阿丑 发表于 2021-6-15 15:44
原来的例程是用的DMA发送吧,每次都是最大500个字节啊,而且例程是不断地轮训是否有新的数据收到进行发送的 ...

你可以把收到数据检查部分给屏蔽了,直接发送你需要的长度,是否会出同样的问题?
回复 支持 反对

使用道具 举报

该用户从未签到

2

主题

6

帖子

0

注册会员

Rank: 2

积分
51
最后登录
2021-11-2
 楼主| 发表于 2021-6-16 17:38:35 | 显示全部楼层
小恩GG 发表于 2021-6-16 15:58
你可以把收到数据检查部分给屏蔽了,直接发送你需要的长度,是否会出同样的问题?
...

会的,我是用这个例子,把收到的数据都保存到缓冲区里面,当收到的数据超过一定量的时候,一次性发送,才发现的发送超过500个字节的数据就会把最后几个字节变为\0,每次发送500个字节就必须延时1ms,否则就会有丢数据的情况
回复 支持 反对

使用道具 举报

该用户从未签到

2

主题

6

帖子

0

注册会员

Rank: 2

积分
51
最后登录
2021-11-2
 楼主| 发表于 2021-6-18 17:47:27 | 显示全部楼层
已经解决局部变量的问题,改为全局的就不会出现数据异常了
回复 支持 反对

使用道具 举报

该用户从未签到

656

主题

6312

帖子

0

超级版主

Rank: 8Rank: 8

积分
20001
最后登录
2024-4-24
发表于 2021-6-21 14:21:47 | 显示全部楼层
阿丑 发表于 2021-6-18 17:47
已经解决局部变量的问题,改为全局的就不会出现数据异常了

感谢你的解决方案分享,所以目前数据异常是由于局本部变量刷新导致出现问题的。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /4 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2024-4-24 11:09 , Processed in 0.120418 second(s), 23 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

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