54 Chapter 2
Programming Examples
GPIB Programming Examples
if(viStatus){// If problems, then prompt user
printf("Could not open ViSession!\n");
printf("Check instruments and connections\n");
printf("\n");
exit(0);}
printf("\n");
viClear(vi); // Clears the signal generator
viPrintf(vi, "*CLS\n"); // Resets the status byte register
// Print user information
printf("Programming example using the *SAV,*RCL SCPI commands\n");
printf("used to save and recall an instrument's state\n");
printf("\n");
viPrintf(vi, "*RST\n"); // Resets the signal generator
viPrintf(vi, "FREQ 5 MHz\n"); // Sets sig gen frequency
viPrintf(vi, "POW:ALC OFF\n"); // Turns ALC Off
viPrintf(vi, "POW:AMPL -3.2 dBm\n"); // Sets power for -3.2 dBm
viPrintf(vi, "OUTP:STAT ON\n"); // Turns RF output On
viPrintf(vi, "*OPC?\n"); // Checks for operation complete
while (!lngDone)
viScanf (vi ,"%d",&lngDone); // Waits for setup to complete
viPrintf(vi, "*SAV 1\n"); // Saves sig gen state to register #1
// Print user information
printf("The current signal generator operating state will be saved\n");
printf("to Register #1. Observe the state then press Enter\n");
printf("\n"); // Prints new line character
getch(); // Wait for user input
lngDone=0; // Resets the operation complete flag
viPrintf(vi, "*RST\n"); // Resets the signal generator
viPrintf(vi, "*OPC?\n"); // Checks for operation complete
while (!lngDone)
viScanf (vi ,"%d",&lngDone); // Waits for setup to complete
// Print user infromation