阅读:2223回复:4
CyUSB,如何实现bulk传输,两次传输间的数据丢失,双线程不起作用
大家好
68013,bulk,in,PC端通过BeginDataXfer\WaitForXfer\FinishDataXfer或者XferData传输,两次传输之间都会有数据丢失。 我使用过乒乓机制,也就是开辟两块空间,读写分别是一个线程,用Critical Section判断资源是否占用,但是还是有数据丢失的现象。 请问各位该做么办呢? |
|
|
沙发#
发布于:2007-05-14 09:42
68013的驱动你只能通过加大单次读写的数据量,将读取到的数据分线程存储,增大设备端FIFO的深度(例如4缓冲)来提高传输速度。
|
|
板凳#
发布于:2007-05-14 16:49
那为什么会有丢数据的现象呢?按道理我不去取,full信号就会一直高。为什么数据丢失了呢。
|
|
|
地板#
发布于:2007-05-15 09:35
端点满了就写不进去数据了
那些写不进去的数据不就丢失了吗? 除非你是静态数据,并且判断到端点满了就不往里写数据 |
|
地下室#
发布于:2007-06-18 21:57
引用第1楼jinghuiren于2007-05-14 09:42发表的 : 那么隐含之意就是,用户如果自己开发驱动, 有可能在内核态实现循环buffer的Bulk传输? 用一个较大的循环buffer在PC端实现缓冲, 从而避免在计算机负载过重时,用户态应用程序两次调用bulk传输的时间间隔导致的数据丢失? 这个想法可行吗? |
|