Programming Examples
40
Keysight InfiniiVision M9241/42/43A PXIe Oscilloscopes SCPI Programmer's Guide
1413
/* Capture data. */
capture();
/* Analyze the captured waveform. */
analyze();
/* Close the vi session and the resource manager session. */
viClose(vi);
viClose(defaultRM);
}
/* Initialize the oscilloscope to a known state.
* --------------------------------------------------------------- */
void initialize (void)
{
/* Clear the interface. */
err = viClear(vi);
if (err != VI_SUCCESS) error_handler();
/* Get and display the device's *IDN? string. */
do_query_string("*IDN?");
printf("Oscilloscope *IDN? string: %s\n", str_result);
/* Clear status and load the default setup. */
do_command("*CLS");
do_command("*RST");
}
/* Capture the waveform.
* --------------------------------------------------------------- */
void capture (void)
{
int num_bytes;
FILE *fp;
/* Use auto-scale to automatically configure oscilloscope. */
do_command(":AUToscale");
/* Set trigger mode (EDGE, PULSe, PATTern, etc., and input source. */
do_command(":TRIGger:MODE EDGE");
do_query_string(":TRIGger:MODE?");
printf("Trigger mode: %s\n", str_result);
/* Set EDGE trigger parameters. */
do_command(":TRIGger:EDGE:SOURce CHANnel1");
do_query_string(":TRIGger:EDGE:SOURce?");
printf("Trigger edge source: %s\n", str_result);
do_command(":TRIGger:EDGE:LEVel 1.5");
do_query_string(":TRIGger:EDGE:LEVel?");
printf("Trigger edge level: %s\n", str_result);
do_command(":TRIGger:EDGE:SLOPe POSitive");
do_query_string(":TRIGger:EDGE:SLOPe?");
printf("Trigger edge slope: %s\n", str_result);
/* Save oscilloscope configuration. */