5-16 Agilent 4155C/4156C VXIplug&play Driver User’s Guide, Edition 4
Programming Examples for C++ Users
Synchronous Sweep Measurements
ret = hp4156b_force(vi, bulk, hp4156b_VF_MODE, 0, 0, 0.1, 0); /* 33 */
ret = hp4156b_force(vi, source, hp4156b_VF_MODE, 0, 0, 0.1, 0);
ret = hp4156b_setIv(vi, gate, hp4156b_SWP_VF_SGLLIN, 0, 0, vg, nop, hold, delay,
s_delay, igcomp, pgcomp);
check_err (vi, ret); /* 37 */
ret = hp4156b_setSweepSync(vi, drain, hp4156b_VF_MODE, 0, 0, vd, idcomp, pdcomp);
check_err (vi, ret);
ret = hp4156b_sweepIv(vi, drain, hp4156b_IM_MODE, 0, &rep, &sc[0], &md[0], &st[0]);
check_err (vi, ret); /* 43 */
ret = hp4156b_zeroOutput(vi, hp4156b_CH_ALL); /* 45 */
ret = hp4156b_setSwitch(vi, hp4156b_CH_ALL, 0);
check_err (vi, ret); /* 47 */
if ( rep != nop ) { /* 49 */
printf ("%d measurement steps were returned.\nIt must be %d steps.\n", rep, nop);
exit (ret);
} /* 52 */
printf(" Vg (V), Id (mA)\n"); /* 54 */
for (i = 0; i < nop; i++){
printf(" %4.2f, %9.6f \n", sc[i], md[i] * 1000);
} /* 57 */
Line Description
33 to 34 Applies voltage to device.
36 Sets the primary sweep source.
39 Sets the synchronous sweep source by using the hp4156b_setSweepSync function.
42 Performs staircase sweep measurement by using the hp4156b_sweepIv function.
45 Sets the specified port to the zero output state.
46 Disables all ports.
37, 40, 43, and 47 Calls the check_err subprogram (shown in Table 5-1) to check if an error status is
returned for the previous line.
49 to 52 Stops the program execution if the number of returned data is not equal to nop.
54 to 57 Displays the measurement result data.