完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
你好,
我试图传输大文件(大于1MB)与FX2LP。其实,我只是跟着an61345(实施FX2LP™FPGA接口)。它在EZ-USB的控制台,512个字节发送到EP2、512字节到6。 然后我用VC6制作了一个应用程序。将大文件的512个字节的数据包,并将其通过xferdata()功能。代码是 对于(i=0;i&lt;pCube;i++) { 对于(j=0;j&lt;BuffyStand;j++){UBSI i [j]=Siguii [ BuflSige *i+j];} 如果(UBS-设备-gt;BulkouTrPT) i_finish =设备- >;bulkoutendpt - >;xferdata(u***_i,buf_size); 如果(UBS-设备-gt;BurknEntPt) o_finish =设备- >;bulkinendpt - >;xferdata(u***_o,buf_size); 对于(j=0;j&lt;BuffyStand;j++){Sigio[BuflSige*i+j]=UbSyo[j];} } 当文件小(20kb)时,它工作得很好。当主机读取数据时,每一步EP6都变空。 如果文件较大,为工艺设备,6不会空的时候,所有的数据是错误代码(总是CD)。 我用cy3684_kit_15,希望有人帮我找出原因或提出建议。 谢谢! 以上来自于百度翻译 以下为原文 Hi there, I am trying to transfer large files(larger than 1MB) with fx2lp. Actually, I just followed AN61345(Implementing an FX2LP™-FPGA Interface). It worked well on EZ-USB console, 512 bytes send to ep2, 512 bytes back to ep6. Then I made a app with VC6. Divide the large file to 512 bytes packets, and transfer them via Xferdata() fuction. The code is for(i=0;i { for(j=0;j i_finish=USBDevice->BulkOutEndPt->XferData(u***_i,buf_size); if(USBDevice->BulkInEndPt) o_finish=USBDevice->BulkInEndPt->XferData(u***_o,buf_size); for(j=0;j When the files are small(<20kB), it works well. Every step ep6 become empty when the data is read by host. If the file is larger, as the process continus, ep6 will not be empty sometime and all the followed data is error code(always CD). I am using cy3684_kit_15, hope someone help me to find the reason or give some advice. Thanks! |
|
相关推荐
4个回答
|
|
你好,
请使用USB流量的跟踪(使用USB流量分析仪,如CATC),并张贴HeSECO,我们可以看看它。 谢谢 普拉吉斯 以上来自于百度翻译 以下为原文 Hi, Please take the trace of USB traffic(using USB traffic analyzers like CATC) and post it here so that we can have a look at it. Thanks Prajith |
|
|
|
你好,
谢谢你的回复。此外,什么是CATC?一种仪器还是某种软件? 我只是做了一个简单的测试: 长Bufsig=512; 对于(int i=0;i & lt;100;i++) { OBRealth= USPDealth&Gt;BulkouTrPT & Gt;XFEDATA(UBSII,Buffy Stand); IWReal= USPDealth&Gt;BulkEndotP& Gt;XFEDATA(UBSYO,BuffySead); CUT & LT;&L.; } 输出: 1 1 1 1 … 1 1 1 0 1 0 … 1 0 按任意键… BulkK-XFEDATA立即失败。我认为有两个可能的原因:(a)EP6停滞不前;(b)EP6没有足够的数据。对吗? 然后在上面的测试之后,我就做 IWReal= USPDealth&Gt;BulkEndotP& Gt;XFEDATA(UBSYO,BuffySead); 再一次。它返回1,空标志也改变了。 那么,我可以说EP6工作得很好,XFelDATA()出错了吗? 我试着为BulkIn启动两个新的线程,一个失败,另一个线程,希望它奏效。 再次感谢! 以上来自于百度翻译 以下为原文 Hi, Thanks for your reply. Besides, what's a CATC? An instrument or some kind of software? I just made a simple test: LONG buf_size=512; for(int i=0;i<100;i++) { o_finish=USBDevice->BulkOutEndPt->XferData(u***_i,buf_size); i_finish=USBDevice->BulkInEndPt->XferData(u***_o,buf_size); cout< The output: 1 1 1 1 ... 1 1 1 0 1 0 ... 1 0 press any key... The BulkIn XferData immediately failed. I think there are two possible reasons: (a)EP6 stalled; (b)EP6 do not have enough data. Is it right? Then after the test above, I just do i_finish=USBDevice->BulkInEndPt->XferData(u***_o,buf_size); again. And it returns 1, the empty flag also changed. So, can I say EP6 works well, the XferData() goes wrong? I am try to start two new threads for BulkIn, one failed, start another, hope it worked. Thanks again! |
|
|
|
对不起,伙计们,
我刚换了电源,问题就解决了… 应该在一开始就找到这个… 以上来自于百度翻译 以下为原文 Sorry guys, I just changed a powersupply, and the problem solved... Should find this at the very start... |
|
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
754个成员聚集在这个小组
加入小组2103 浏览 1 评论
1849 浏览 1 评论
3667 浏览 1 评论
请问可以直接使用来自FX2LP固件的端点向主机FIFO写入数据吗?
1784 浏览 6 评论
1534 浏览 1 评论
CY8C4025LQI在程序中调用函数,通过示波器观察SCL引脚波形,无法将pin0.4(SCL)下拉是什么原因导致?
566浏览 2评论
CYUSB3065焊接到USB3.0 TYPE-B口的焊接触点就无法使用是什么原因导致的?
420浏览 2评论
CX3连接Camera修改分辨率之后,播放器无法播出camera的画面怎么解决?
435浏览 2评论
381浏览 2评论
使用stm32+cyw43438 wifi驱动whd,WHD驱动固件加载失败的原因?
913浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 18:45 , Processed in 0.965941 second(s), Total 85, Slave 68 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号