EasyManua.ls Logo

Agilent Technologies E4438C - Page 68

Agilent Technologies E4438C
208 pages
Print Icon
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
Programming Examples
GPIB Programming Examples
Chapter 262
viStatus = viInstallHandler(vi, VI_EVENT_SERVICE_REQ, interupt, rdBuffer);
// The next line of code enables the
// detection of an event
viStatus = viEnableEvent(vi, VI_EVENT_SERVICE_REQ, VI_HNDLR, VI_NULL);
viPrintf(vi, "FREQ:MODE LIST\n");// Sets frequency mode to list
viPrintf(vi, "LIST:TYPE STEP\n");// Sets sweep to step
viPrintf(vi, "LIST:TRIG:SOUR IMM\n");// Immediately trigger the sweep
viPrintf(vi, "LIST:MODE AUTO\n");// Sets mode for the list sweep
viPrintf(vi, "FREQ:STAR 40 MHZ\n"); // Start frequency set to 40 MHz
viPrintf(vi, "FREQ:STOP 900 MHZ\n");// Stop frequency set to 900 MHz
viPrintf(vi, "SWE:POIN 25\n");// Set number of points for the step sweep
viPrintf(vi, "SWE:DWEL .5 S\n");// Allow .5 sec dwell at each point
viPrintf(vi, "INIT:CONT OFF\n");// Set up for single sweep
viPrintf(vi, "TRIG:SOUR IMM\n");// Triggers the sweep
viPrintf(vi, "INIT\n"); // Takes a single sweep
printf("\n");
// While the instrument is sweeping have the
// program busy with printing to the display.
// The Sleep function, defined in the header
// file windows.h, will pause the program
// operation for .5 seconds
while (sweep==1){
printf("*");
Sleep(500);}
printf("\n");
// The following lines of code will stop the
// events and close down the session
viStatus = viDisableEvent(vi, VI_ALL_ENABLED_EVENTS,VI_ALL_MECH);
viStatus = viUninstallHandler(vi, VI_EVENT_SERVICE_REQ, interupt,
rdBuffer);
viStatus = viClose(vi);
viStatus = viClose(defaultRM);
return 0;
}
// The following function is called when an SRQ event occurs. Code specific to your
// requirements would be entered in the body of the function.
ViStatus _VI_FUNCH interupt(ViSession vi, ViEventType eventType, ViEvent event, ViAddr
addr)
{
ViStatus status;
ViUInt16 stb;
status = viReadSTB(vi, &stb); // Reads the Status Byte
sweep=0; // Sets the flag to stop the ’*’ printing
printf("\n"); // Print user information
printf("An SRQ, indicating end of sweep has occurred\n");

Table of Contents

Other manuals for Agilent Technologies E4438C

Related product manuals