打印

再问USB传输速率问题

[复制链接]
1923|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zyzyzy407|  楼主 | 2012-7-6 22:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
自己做了一个板子并且写了个68013的上位机 开辟了一个接收线程 用于接收数据部分代码如下:
UINT XferLoop_Recv( LPVOID params )
{


CEp8testDlg *dlg = (CEp8testDlg *) params;

(dlg->InEndpt) = (dlg->USBDevice)->EndPoints[3];
//ep8:4
ep6:3

CString str="";

char s1[24];

while(RecvThreadFlag)

{

LONG inlen=512;



(dlg->InEndpt)->XferData(s,inlen);

if(inlen>0)

{

if((inlen%13)!=0)

{

dlg->MessageBox("不是13整数!");


}



for(int i=0; i<inlen;i++)

{




str.Format("0x%02X ",s);

StrShow+=str;

if( (i+1)%13 ==0)

{

StrShow+="\r\n";

}

}



RecvNum += (inlen/13);



sprintf(s1,"%d",RecvNum);

dlg->m_RecvNum.SetWindowText(s1);


if( RecvNum == 5000)

{

dlg->MessageBox("5000");

}


/*

dlg->m_DataRecv.SetWindowText(StrShow);

                       

if(dlg->m_DataRecv.GetLineCount()>20)


StrShow="";


*/
               

}

}


return 0;
}
板子不停的发送数据 注释掉红色代码的时候接收数据不丟数 可以加上红色代码就丟数了 用bushound看的确是丢了 请问问什么?还有就是bushound看到的丟数现象说明是板子没有上传上来丢的数据还是带便什么意思?

相关帖子

沙发
dqyubsh| | 2012-7-6 23:42 | 只看该作者
windows编辑框、列表框之类的控件更新速度太慢,不要这样显示数据,试试显示曲线图或者记盘,不丢就没问题。

使用特权

评论回复
板凳
zyzyzy407|  楼主 | 2012-7-7 09:53 | 只看该作者
我想问您的就是bushound看到的数据是代表从硬件传上来的数据吗?丢的数据没有在bushound上显示出来 这个现象是说明我的硬件根本就没传上来这个数据或者还是什么意思? 2# dqyubsh

使用特权

评论回复
地板
dqyubsh| | 2012-7-7 17:16 | 只看该作者
不懂BS,你问别人。

使用特权

评论回复
5
zyzyzy407|  楼主 | 2012-7-8 08:58 | 只看该作者
问题是解决了 我把硬件加了些延时 虽然好了 但还有些不懂 呵呵 4# dqyubsh

使用特权

评论回复
6
usb20d| | 2012-7-17 13:52 | 只看该作者
建议所有接口函数放在一个线程中

使用特权

评论回复
7
cloudborn| | 2012-7-17 21:21 | 只看该作者
不知道楼主发送数据加延时是在什么地方加的?

使用特权

评论回复
8
zyzyzy407|  楼主 | 2012-7-18 08:35 | 只看该作者
在固件中加的延时 满足上位机速率慢 7# cloudborn

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

208

帖子

0

粉丝