UDB FIFOのクリア - KBA91826 - Community Translated (JA)

Version 1

    Community Translated by NoTa_4591161          Version: **

     

    Translation - English: Clearing UDB FIFOs - KBA91826

     

    回答:

    UDBには、補助制御レジスタ(AUX_CTL)があります。このレジスタは、異なるコンポーネントに属する可能性のあるUDBの複数の機能に使用されます。補助制御レジスタの変更は、割り込みを無効にして行う必要があります。重要な領域は、補助制御の更新を保護するために使用されます。

                                                                                           

    補助制御レジスタ

    7

    6

    5

    4

    3

    2

    1

    0

     

     

    CNT
         START

    INT
         EN

    FIFO1
         LVL

    FIFO0
         LVL

    FIFO1
         CLR

    FIFO0
         CLR

    補助制御構成ビット(すべてのビットは0に初期化されます)

     

    [5] CNT START

    Count7機能のSW有効化

    [4] INT EN

    割り込みモードでのステータスレジスタの割り込みイネーブル

    [3], [2] FIFO LVL

    満杯/空または半分満杯/

    [1], [0] FIFO CLR

    FIFO クリア

    補助制御構成ビット(すべてのビットは0に初期化されます)

     

    #define MyInstance_AUX_CTL_REG (* (reg8 *) MyInstance__DP_AUX_CTL_REG)
    uint8 preserveIntr;
    /* Clear FIFO1 inside of a Critical Region */
    preserveIntr = CyEnterCriticalSection();
    MyInstance_AUX_CTL_REG |= 0x2;
    MyInstance_AUC_CTL_REG &= ~0x2;

    CyExitCriticalSection(preserveIntr);