私たちの顧客SIGMATEKはLPC1347上でUSB制御転送を実装したいと考えています。
これは、データ長が64バイト未満または64バイトを超える場合にうまく機能します。
データ長がちょうど64バイト(または64バイトの倍数)の場合、この方法は機能しなくなります。
これを機能させるには、彼らは何をする必要があるのでしょうか?
よろしくお願いいたします。
ピーター
こんにちは、
USBデータペイロードがエンドポイントの最大パケットサイズのちょうど倍数(フルスピードなら64バイト)になると、転送終了を知らせる短いパケットがないため**レシーバ**がハングします。これをLPC1347上で解決するために、SIGMATEKはペイロード長が64の非ゼロ倍数かどうかを確認し、もしそうならメインデータブロックの直後にゼロ長のゼロ長パケット(ZLP)を手動で送信してバッファをフラッシュし、完了を知らせ、転送を正常に終了させます。
よろしくお願いします