阅读:1210回复:7
bulk传输丢数或是多数,奇怪!
我用bulk传输做的数据采集系统,怎么发现我送到上位机的数据中
有时候多了一个数(0),有时候又丢了一个数,真是奇怪,不是协议中说得bulk传输的出错率很低的吗?可是我这里出这样错误的几率很高的阿,请问有没有人出过这样的问题啊? |
|
沙发#
发布于:2003-08-12 18:42
估计是你固件中写数据时候出了问题,或者是你写数据太慢,采集速度太快。
|
|
板凳#
发布于:2003-08-13 09:35
我写数据应该是不会有是那么问题的,因为只是有时候出问题啊,可能是在写数据的时候频繁的被别的中断所中断,是不是在这个时候出问题了,可是就算中断很多的话,退出高优先级的中断,它也会回到usb写数据中断中阿,应该不会出问题啊,真是搞不懂了
|
|
地板#
发布于:2003-08-13 12:30
那就要看你的数据是什么样子的了,如果是从采集那边直接传到端点里的,这时候如果被中断,数据还在数据线上,就会丢失的,但是返回的时候fifo的地址还没变,可是数据线上是0,这样就会有一个0写到里面了,如果你的数据是在缓冲区中储存着的,即使被中断也应该没有问题的,另外你要注意,千万不要在其他的中断中移动fifo的地址,除非是你特意设置的,否则肯定会出错的。
|
|
地下室#
发布于:2003-08-13 19:36
我得数据是放在xdata区,然后再送出去的。
千万不要在其他的中断中移动fifo的地址,除非是你特意设置的,否则肯定会出错的。 这个fifo是指的usb的端点的fifo吗?我没有移动啊,fifo的地址只有一个阿,不是usb自己偏移的么?我根本就不需要动它阿。 |
|
5楼#
发布于:2003-08-13 21:05
是只的usb的fifo,我怕你在其他中断中又用到了它,如果没用那我就不明白是怎么回事了。
|
|
6楼#
发布于:2003-08-14 16:49
说不定是你ad部分的毛病呢〉?
|
|
7楼#
发布于:2003-08-16 15:28
哦?ad部分会出什么毛病呢?难道从ad读数据的时候还会有时候多一个,有时候少一个?应该不会把?
|
|