4qiuxh
驱动小牛
驱动小牛
  • 注册日期2002-11-27
  • 最后登录2008-04-14
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
阅读:1210回复:7

bulk传输丢数或是多数,奇怪!

楼主#
更多 发布于:2003-08-12 16:36
我用bulk传输做的数据采集系统,怎么发现我送到上位机的数据中
有时候多了一个数(0),有时候又丢了一个数,真是奇怪,不是协议中说得bulk传输的出错率很低的吗?可是我这里出这样错误的几率很高的阿,请问有没有人出过这样的问题啊?
jinghuiren
驱动巨牛
驱动巨牛
  • 注册日期2002-06-01
  • 最后登录2008-10-27
  • 粉丝0
  • 关注0
  • 积分291分
  • 威望460点
  • 贡献值0点
  • 好评度428点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-08-12 18:42
估计是你固件中写数据时候出了问题,或者是你写数据太慢,采集速度太快。
4qiuxh
驱动小牛
驱动小牛
  • 注册日期2002-11-27
  • 最后登录2008-04-14
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-08-13 09:35
我写数据应该是不会有是那么问题的,因为只是有时候出问题啊,可能是在写数据的时候频繁的被别的中断所中断,是不是在这个时候出问题了,可是就算中断很多的话,退出高优先级的中断,它也会回到usb写数据中断中阿,应该不会出问题啊,真是搞不懂了
jinghuiren
驱动巨牛
驱动巨牛
  • 注册日期2002-06-01
  • 最后登录2008-10-27
  • 粉丝0
  • 关注0
  • 积分291分
  • 威望460点
  • 贡献值0点
  • 好评度428点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-08-13 12:30
那就要看你的数据是什么样子的了,如果是从采集那边直接传到端点里的,这时候如果被中断,数据还在数据线上,就会丢失的,但是返回的时候fifo的地址还没变,可是数据线上是0,这样就会有一个0写到里面了,如果你的数据是在缓冲区中储存着的,即使被中断也应该没有问题的,另外你要注意,千万不要在其他的中断中移动fifo的地址,除非是你特意设置的,否则肯定会出错的。
4qiuxh
驱动小牛
驱动小牛
  • 注册日期2002-11-27
  • 最后登录2008-04-14
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-08-13 19:36
我得数据是放在xdata区,然后再送出去的。

千万不要在其他的中断中移动fifo的地址,除非是你特意设置的,否则肯定会出错的。

这个fifo是指的usb的端点的fifo吗?我没有移动啊,fifo的地址只有一个阿,不是usb自己偏移的么?我根本就不需要动它阿。
jinghuiren
驱动巨牛
驱动巨牛
  • 注册日期2002-06-01
  • 最后登录2008-10-27
  • 粉丝0
  • 关注0
  • 积分291分
  • 威望460点
  • 贡献值0点
  • 好评度428点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-08-13 21:05
是只的usb的fifo,我怕你在其他中断中又用到了它,如果没用那我就不明白是怎么回事了。
nn_buaa
驱动牛犊
驱动牛犊
  • 注册日期2002-03-04
  • 最后登录2005-06-01
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2003-08-14 16:49
说不定是你ad部分的毛病呢〉?
4qiuxh
驱动小牛
驱动小牛
  • 注册日期2002-11-27
  • 最后登录2008-04-14
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2003-08-16 15:28
哦?ad部分会出什么毛病呢?难道从ad读数据的时候还会有时候多一个,有时候少一个?应该不会把?
游客

返回顶部