阅读:1571回复:5
D12驱动程序清除缓冲区问题
D12应用中, 遇到如下情况:
D12向驱动发出一批数据, 上层应用用ReadFile从驱动中读取到这批数据的一部分,还有剩余数据. 此时上层应 用发送新的命令到D12,并希望用ReadFile读取该命令的全新返回数据, 但由于上次还有剩余数据留在驱动缓冲区 里,所以ReadFile 读到的是那些剩余数据. 请教各位老大,在执行ReadFile之前, 有没有什么办法先将驱动程序的数据缓冲区清除啊? |
|
沙发#
发布于:2007-08-01 23:58
顶,
俺也碰到这个问题,俺的驱动是用driverstudio开发的,俺用PiPE1.Reset()这条指令好像也没有用。 请各位老大们提供解决方法, |
|
板凳#
发布于:2007-08-03 09:58
这个应该由固件程序去清除的吧,而不是由驱动程序去清除吧
|
|
地板#
发布于:2007-08-03 09:59
我不是用D12,驱动程序应该来说不管这个吧,这样的情形应该由固件程序去处.
|
|
地下室#
发布于:2007-09-01 00:16
我的情况是这样,俺第一次要读512bytes数据,但俺的固件可能发送了多于512bytes的数据,如576bytes,这样俺第二次要读数据是必须把以前多于的64bytes先要清除掉,不然俺第二次读的数据就是上次多于的数据,那么,如何清除第一次多于的数据呢,这时固件都已发送给driver了,所以我想应该在driver这端清除。
|
|
5楼#
发布于:2007-09-18 09:46
这个在你的固件程序发送数据函数中在发完之后就应该清除的
|
|