デバイスレベルの従来のNI-488.2コールを使用したシリアルポーリング
デバイスレベルの従来のNI-488.2コールのibrspを使って、シリアルポールを行うことができます。 ibrspは、単一のシリアルポールを行い、シリアルポール応答バイトをアプリケーションに返します。自動シリアルポーリングが有効にされると、アプリケーションはibwaitを使って、ステータス関数IbstaにRQSが設定されるまでプログラムの実行を一時停止することができます。その後、プログラムはibrspをコールしてシリアルポール応答バイトを取得できます。
次の例では、自動シリアルポーリングが有効になっているときに、一般的なSRQサービス状態でibwaitとibrspのコールを使う方法を示します。
char GetSerialPollResponse ( int DeviceHandle )
{
char SerialPollResponse = 0;
ibwait ( DeviceHandle, TIMO | RQS );
if ( Ibsta() & RQS ) {
printf ( "デバイスがSRQをアサートしました。\n" );
/* シリアルポール応答を回収するためにibrspを使用する。 */
ibrsp ( DeviceHandle, &SerialPollResponse );
}
return SerialPollResponse;
}
関連項目: