krise
驱动牛犊
驱动牛犊
  • 注册日期2004-12-01
  • 最后登录2005-04-21
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1148回复:2

还是丢包???:(

楼主#
更多 发布于:2005-04-06 14:42
首先谢谢jinghuiren大侠的热心指教!!!
再次请教各位大侠:我做的传输系统是主机a通过d12传输数据到单片机a,单片机a把数据传到单片机b,单片机b再通过d12把数据传输到主机b。我测试知道数据一直传输到单片机b的时候都是正确的,但是主机b接收到的数据都存在丢包情况,即接收几个包就丢一个整包,再隔几个包又丢,而且间隔是随机的。我觉得是单片机b传数据到d12 的时候可能出现数据覆盖了,但是我现在通过读d12缓冲区是否为满的标志来判断主机b取走了数据后才向d12写下一个包的,问题依然存在,不知道问题出在什么地方,请各位大侠指点一二,不胜感激!!!
dnet008
驱动牛犊
驱动牛犊
  • 注册日期2005-01-23
  • 最后登录2006-02-10
  • 粉丝0
  • 关注0
  • 积分50分
  • 威望5点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-04-06 19:35
如果能确保主机b取走了数据后再写下一个包,理论上来说不应该产生这样子的情况。除非是硬件设计上有问题,你用的应该是PCB板子,而不是面包板焊接的吧?以前遇到过这样的问题,明明往host发送的数据都是对的,host接收到的数据确是错误的,后来发现是硬件的原因。
建议先排除硬件的可能性,然后再查软件。
krise
驱动牛犊
驱动牛犊
  • 注册日期2004-12-01
  • 最后登录2005-04-21
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2005-04-07 09:21
我现在是用easyusb.dll库直接读d12端点进行收发的,以前我是用周立功公司的固件程序的方法,通过厂商请求进行收发,这种方法就不会产生丢包现象,就是速度不行。为提高速度,我直接读端点,这样就出现丢包了,应该不是硬件原因吧???
游客

返回顶部