SRQを送出してマスタがステータスバイトを受け取ったか調べます。
short SPoll, SrqSend, Stb;
SrqSend = 1; // SRQを送出に設定 Stb = 10; // ステータスバイトを10に設定 Ret = GpibSendSRQ ( DevId, SrqSend, Stb ); // SRQを送信
if ( Ret == 0 ) { // 正常終了か確認 SPoll = 0; // do { Ret = GpibCheckSPoll ( DevId, &SPoll, &Stb ); // シリアルポールされたか確認
if ( Ret != 0) break; // 正常終了か確認 } while ( SPoll == 0 ); // シリアルポールされるまでループ
if ( SPoll == 1) Printf ( "Serial Polling\n" ); // シリアルポールされた場合メッセージ表示 }
|
マスタはSRQを受信してもステータスバイトを必ず受け取る必要はないので上記の使用例ではdo-whileループを抜けてこない場合があります。