阅读:1148回复:2
还是丢包???:(
首先谢谢jinghuiren大侠的热心指教!!!
再次请教各位大侠:我做的传输系统是主机a通过d12传输数据到单片机a,单片机a把数据传到单片机b,单片机b再通过d12把数据传输到主机b。我测试知道数据一直传输到单片机b的时候都是正确的,但是主机b接收到的数据都存在丢包情况,即接收几个包就丢一个整包,再隔几个包又丢,而且间隔是随机的。我觉得是单片机b传数据到d12 的时候可能出现数据覆盖了,但是我现在通过读d12缓冲区是否为满的标志来判断主机b取走了数据后才向d12写下一个包的,问题依然存在,不知道问题出在什么地方,请各位大侠指点一二,不胜感激!!! |
|
沙发#
发布于:2005-04-06 19:35
如果能确保主机b取走了数据后再写下一个包,理论上来说不应该产生这样子的情况。除非是硬件设计上有问题,你用的应该是PCB板子,而不是面包板焊接的吧?以前遇到过这样的问题,明明往host发送的数据都是对的,host接收到的数据确是错误的,后来发现是硬件的原因。
建议先排除硬件的可能性,然后再查软件。 |
|
板凳#
发布于:2005-04-07 09:21
我现在是用easyusb.dll库直接读d12端点进行收发的,以前我是用周立功公司的固件程序的方法,通过厂商请求进行收发,这种方法就不会产生丢包现象,就是速度不行。为提高速度,我直接读端点,这样就出现丢包了,应该不是硬件原因吧???
|
|