FX2LPのコミットされたエンドポイントのフラッシュ - KBA222444 - Community Translated (JA)
- RSS フィードを購読する
- 新着としてマーク
- 既読としてマーク
- ブックマーク
- 購読
- 印刷用ページ
- 不適切なコンテンツを報告
Community Translated by NoTa_4591161
Version: **
Translation - English: Flushing the Committed Endpoints of FX2LP - KBA222444
質問:
FX2LPがAUTOモードで動作していて、ホストアプリケーションが指定された時間内に同じデータを読み取れなかった場合、どのようにしてコミットされたエンドポイントからデータをクリアまたはフラッシュできますでしょうか?
回答:
FX2LPがAUTOモードで動作していて、データが外部インターフェイスからFX2LPデバイスにストリーミングされ、自動的にホストにコミットされますが、ホストアプリケーションがデータを読み取る準備ができていない場合があります。FX2LPは、AUTOモードで動作しているためにファームウェアはエンドポイントFIFOを制御できません。ホストが指定された時間FX2LPデバイスからコミットされたデータを読み取らず、データを破棄する必要がある場合においてエンドポイントFIFOを制御するには、FX2LPを手動モードに切り替える必要があります。同じ様にクリアするには、以下のシーケンスに従ってください:
- NAKALLビットを設定する
- MANUALモードに切り替え
- FIFOをリセットする
- AUTOモードに切り替える
- NAKALLビットを解放する
コードスニペットの例:
TD_Poll():
… … …
If(FIFO_RESET)
{
// これは、EP6がAUTOINとして構成されているEP6 FIFOをリセットするコードセグメントの例です。
// 注:EPxFIFOCFGの他のビットの設定はここでは無視されます
FIFORESET = 0x80; // 競合状態を回避するためにNAK-ALLをアクティブにします
SYNCDELAY;
EP6FIFOCFG = 0x00; // MANUALモードに切り替えます
SYNCDELAY;
FIFORESET = 0x06; // リセットFIFO 6この段階では、NAKALLビットを0に設定する必要があることに注意してください。 1に設定すると、目的の操作は行われません
SYNCDELAY;
EP6FIFOCFG = 0x0C; //AUTOモードに切り替えます
SYNCDELAY;
FIFORESET = 0x00; // NAKALLを解放します
SYNCDELAY;
}