Agilent 4155C/4156C VXIplug&play Driver User’s Guide, Edition 4 5-21
Programming Examples for C++ Users
Pulsed Spot Measurements
Pulsed Spot Measurements
This section explains an example subprogram that performs pulsed spot
measurement. The following subprogram will apply voltage to a MOSFET, measure
drain current, and display the measurement result data.
Table 5-7 Pulsed Spot Measurement Example
void perform_meas (ViSession vi, ViStatus ret) /* 1 */
{
ViInt32 drain; /* 3 */
ViInt32 gate;
ViInt32 source;
ViInt32 bulk;
drain = 1; /* SMU1 */
gate = 2; /* SMU2 */
source = 3; /* SMU3 */
bulk = 4; /* SMU4 */
ViReal64 vd;
ViReal64 vg;
ViReal64 idcomp;
ViReal64 igcomp;
ViReal64 base;
ViReal64 width;
ViReal64 period;
ViReal64 hold;
ViReal64 meas;
ViInt32 status; /* 21 */
ret = hp4156b_setSwitch(vi, drain, 1); /* 23 */
ret = hp4156b_setSwitch(vi, gate, 1);
ret = hp4156b_setSwitch(vi, source, 1);
ret = hp4156b_setSwitch(vi, bulk, 1);
ret = hp4156b_setFilter(vi, gate, hp4156b_FLAG_OFF);
check_err (vi, ret); /* 28 */
Line Description
1 Beginning of the perform_meas subprogram.
3 to 21 Declares variables, and defines the value.
23 to 27 Enables measurement channels, and sets the filter off for the
SMU used for the pulse source.
28 Calls the check_err subprogram (shown in Table 5-1) to check if
an error status is returned for the previous line.