FX2LPのEPXFIFOBCH/Lレジスタ – KBA219002 - Community Translated (JA)

Version 2

    Community Translated by NoTa_4591161 Expert    Version: **

     

    Translation - English: EPXFIFOBCH/L Registers of FX2LP – KBA219002

     

    質問:

    EPXFIFOBCHおよびEPXFIFOBCLレジスタには何が含まれており、どのように使用できますか?

     

    回答:

    EPXFIFOBCHおよびEPXFIFOBCLレジスタには、インターフェースドメインから受信したバイト数が含まれています。これを使用する1つの方法は、長い転送の最後に外部マスターから送信される短いパケットをコミットすることです。これを行うには、スレーブファームウェアのTD_Pollで次のコードスニペットを使用します。

    if( (( EPXFIFOBCH<<8) | (EPXFIFOBCL)) < 0x200) //if the packet is short(here x is the IN endpoint which //receives data from external master)

    {

    SYNCDELAY;

    EPXFIFOCFG = 0x00; //change from Auto mode to Manual mode

    SYNCDELAY;

    INPKTEND = 0x0X; //commit the short packet

    SYNCDELAY;

    EPXFIFOCFG = 0x0C; //back to Auto mode

    SYNCDELAY;

    }

    ここでは、ショートパケットをコミットするために、FIFO構成が自動モードから手動モードに変更されます。その後、マスターが長時間の転送を続行すると、自動モードに変換されます。