4-18 Agilent B1500 VXIplug&play Driver User’s Guide, Edition 3
Programming Examples for C++ Users
Staircase Sweep Measurement
ret = agb1500_resetTimestamp(vi); /* 39 */
ret = agb1500_force(vi, bulk, agb1500_VF_MODE, 0, 0, 0.1, 0);
ret = agb1500_force(vi, source, agb1500_VF_MODE, 0, 0, 0.1, 0);
ret = agb1500_setIv(vi, gate, agb1500_SWP_VF_SGLLIN, 0, 0, vg, nop, hold, delay,
s_delay, igcomp, pgcomp);
check_err (vi, ret); /* 44 */
ret = agb1500_setSweepSync(vi, drain, agb1500_VF_MODE, 0, 0, vd, idcomp, pdcomp);
check_err (vi, ret);
ret = agb1500_sweepIv(vi, drain, agb1500_IM_MODE, 0, &rep, &sc[0], &md[0], &st[0],
&tm[0]);
check_err (vi, ret); /* 50 */
ret = agb1500_zeroOutput(vi, agb1500_CH_ALL); /* 52 */
ret = agb1500_setSwitch(vi, agb1500_CH_ALL, 0);
check_err (vi, ret); /* 54 */
if ( rep != nop ) { /* 56 */
printf ("%d measurement steps were returned.\nIt must be %d steps.\n", rep, nop);
exit (ret);
} /* 59 */
printf(" Vg (V), Id (mA)\n"); /* 61 */
for (i = 0; i < nop; i++){
printf(" %4.2f, %9.6f \n", sc[i], md[i] * 1000);
} /* 64 */
Line Description
39 Resets time stamp.
40 to 41 Applies voltage to device.
43 Sets the primary sweep source.
46 Sets the synchronous sweep source by using the agb1500_setSweepSync function.
50 Performs staircase sweep measurement by using the agb1500_sweepIv function.
52 Sets the specified port to the zero output state.
53 Disables all ports.
44, 47, 50, and 54 Calls the check_err subprogram (shown in Table 4-1) to check if an error status is
returned for the previous line.
56 to 59 Stops the program execution if the number of returned data is not equal to nop.
61 to 64 Displays the measurement result data.