Programming instructions

Programming Examples
GPIB Programming Examples
Chapter 260
Reading the Service Request Interrupt (SRQ) Using VISA and C
This example demonstrates use of the Service Request (SRQ) interrupt. By using the SRQ,
the computer can attend to other tasks while the signal generator is busy performing a
function or operation. When the signal generator finishes it’s operation, or detects a failure,
then a Service Request can be generated. The computer will respond to the SRQ and,
depending on the code, can perform some other operation or notify the user of failures or other
conditions.
This program sets up a step sweep function for the signal generator and, while the operation
is in progress, prints out a series of asterisks. When the step sweep operation is complete, an
SRQ is generated and the printing ceases.
Launch Microsoft Visual C++ 6.0, add the required files, and enter the following code into
your .cpp source file.
The following program example is available on the ESG Documentation CD-ROM as
visaex10.cpp.
//******************************************************************************
//
// PROGRAM FILE NAME:visaex10.cpp
//
// PROGRAM DESCRIPTION: This example demonstrates the use of a Service Request (SRQ)
// interrupt. The program sets up conditions to enable the SRQ and then sets the signal
// generator for a step mode sweep. The program will enter a printing loop which prints
// an * character and ends when the sweep has completed and an SRQ received.
//
//******************************************************************************
#include "visa.h"
#include <stdio.h>
#include "StdAfx.h"
#include "windows.h"
#include <conio.h>
#define MAX_CNT 1024
int sweep=1; // End of sweeep flag
/* Prototypes */
ViStatus _VI_FUNCH interupt(ViSession vi, ViEventType eventType, ViEvent event, ViAddr
addr);
int main ()
{
ViSession defaultRM, vi; // Declares variables of type ViSession
// for instrument communication