複数デバイスNI-488.2コールを使ったパラレルポーリング

NI-488.2

複数デバイスNI-488.2コールを使ったパラレルポーリング

複数デバイスNI-488.2コールを使って、パラレルポーリングを行うには、以下の手順に従ってください。各手順には、コード例が示されています。

  1. デバイスがパラレルポーリング用に自身を構成することができる場合を除き、PPollConfigコールを使って、デバイスをパラレルポーリング用に構成します。以下の例では、istの値が1の時に、データライン5(DIO5)をアサートするように、アドレス3のデバイスを構成します。
    #include "ni4882.h"
    char response;
    Addr4882_t AddressList[2];

    /* 次のコマンドがGPIBをクリアします。 */
    SendIFC(0);
    /* senseの値をデバイスのistビットと比較し、
    データラインがアサートされたかどうかを
    判断します。 */
    PPollConfig(0,3,5,1);
  2. PPollを使ってパラレルポールを行い、応答を保存して、応答の特定の値を確認します。次の例では、istが1の場合にデバイスによりDIO5がアサートされているため、プログラムは応答のビット4(16進の10)を確認して、istの値を判断します。
    PPoll(0, &response);
    /* 応答のビット4(16進数の10)が設定されていれば、 その時点でのデバイスのistビットは1に等しくなります。 表示されない場合は、istビットは0に等しくなります。 以下のステートメントでビットを確認してください。 */

    if (response & 0x10) { printf("The ist equals 1.\n"); else { printf("The ist equals 0.\n"); }
  3. 次の例に示すように、PPollUnconfigを使って、パラレルポーリング用に構成したデバイスを解除します。この例では、アドレスリストの終わりを示すために、配列の最後に定数NOADDRを配置する必要があります。配列の値がNOADDRだけの場合、すべてのデバイスは、パラレルポール無効のメッセージを受け取ります。
    AddressList[0] = 3;
    AddressList[1] = NOADDR;
    PPollUnconfig(0, AddressList);


関連項目:

IBIST

IBPPC

IBRPP

パラレルポーリングの概要

従来のNI-488.2コールを使ったパラレルポーリング

PPoll

PPollConfig

PPollUnconfig