【WDM】Windows Driver Model相談室【デバドラ】
■ このスレッドは過去ログ倉庫に格納されています
005751
NGNG>ACK制御ができていない状態で、バッファに次のデータを
>上書きすると仰るような症状になるのかなぁーと思った次第です。
ホストからのデータ要求(INトランザクション)では、ACKを返すのは
ホストの筈なので最初意味がわからなかったのですが、言わんとされていることは
こういうことでしょうか?
つまり、一旦エンドポイントを送信可能な状態にしたら、ホストからACKが帰るまでは
エンドポイントに書き込みはしないほうがいい、ということでしょうか?
これは、確かにそうみたいです。明らかにエンドポイントがオーバーフローしていない
場合でも、ACKが返る前に書き込みを行なうとデータが失われることがあるようです。
(今私が使っている石がたまたまそうなのかもしれませんが)そのために、直接石の
エンドポイントにデータを書くのではなく、石の外に256バイトのリングバッファを
設けて一旦そこに書いておいて、ホストからACKが返ったら
エンドポイントに転送するようにしています。
ちなみに使っている石はこれです。
http://www.national.com/pf/US/USBN9604.html
なんかデバドラの話じゃなくなってきてすみません。
■ このスレッドは過去ログ倉庫に格納されています