完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
我用和谐建立了CDC的USB堆栈。如果我慢慢地发送数据,效果会很好。我想尽可能快地发送数据。当这样做时,我溢出队列缓冲区。USB_DEVICE_CDC_Write函数返回以下错误,USB_DEVICE_CDC_RESULT_ERROR_TRANSFER_QUEUE_FULL。是否有指定或可接受的方法来监视当前队列级别并相应地节流数据,以便队列不会溢出?
|
|
相关推荐
3个回答
|
|
数据正在从芯片发送到PC。芯片被列举为高速USB。我期望得到大约1兆位每秒的连续传输速度。也许是1.2的开销。只要数据按顺序发送,我就不会烦恼。我的理解是,通过USB到FTDI等串行设备,串行部分会阻碍速度。如果数据由芯片通过USB链路直接发送,那么速度可能更高。我试着测试链路的实际最大速度是多少。
|
|
|
|
数据正在从芯片发送到PC。芯片被列举为高速USB。我期望得到大约1兆位每秒的连续传输速度。也许是1.2的开销。只要数据按顺序发送,我就不会烦恼。我的理解是,通过USB到FTDI等串行设备,串行部分会阻碍速度。如果数据直接由芯片通过USB链路发送,那么速度可能更高。我试图测试链路的实际最大速度。最大CDC速度约为1.5Mbytes/sec IIRC。在PIC24上,我增大了缓冲区大小,以便我可以用最大nu预加载它。适合单个USB传输的字节数(我不记得有多少64字节的数据包,但似乎记得大约是19,但我可能是错的)。然后,我有一个程序循环填充缓冲区的数据,前4或5个字符是“行号”,所以我可以看到是否有数据丢失。然后,使用带有双核处理器的笔记本电脑,它会接收数据(我使用终端程序在屏幕上显示数据),但是它总是有大约每分钟一次的错误。然后,我用我的4核处理器来接收带有终端程序的数据,并且接收时不会出错,直到屏幕保护程序启动为止,然后收到的数据会有中断。最大可能的持续速度。那么你的速度可能会受到PIC处理的速度的限制,并将其填充到缓冲区中。我用乒乓球缓冲区来获得速度,所以我正在填充一个而另一个发送。如果你不熟悉USB的内部工作以及有多少数据以及以什么速度,那么给自己找一份Jan Axelson的“USB完成”副本。她写了一本非常可读的书,全面论述了USB的内部工作。在亚马逊提供一个合理的价格。
|
|
|
|
非常肯定,在TE PIC32 MZ,我能够使用512字节的数据包(仅高速,不会在全速后退工作)。在那种情况下,我并不是在尝试速度,而是针对未分段的512字节块……我确实在Sitarra(Beaglebone Black派生函数)和PIC32MZ之间有一个应用程序,我需要比Mb/s更快的速度。奥克斯。
|
|
|
|
只有小组成员才能发言,加入小组>>
5238 浏览 9 评论
2028 浏览 8 评论
1950 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3204 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2253 浏览 5 评论
774浏览 1评论
664浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
592浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
674浏览 0评论
574浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 17:18 , Processed in 1.185509 second(s), Total 81, Slave 64 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号