Agilent 4155C/4156C VXIplug&play Driver User’s Guide, Edition 4 5-23
Programming Examples for C++ Users
Multi-Channel Pulsed Spot Measurements
Multi-Channel Pulsed Spot Measurements
This section explains an example subprogram that performs multi channel pulsed
spot measurement. The following subprogram will apply voltage to a bipolar
transistor, measure Ic and Ib, and display the measurement result data.
Table 5-8 Multi-Channel Pulsed Spot Measurement Example
void perform_meas (ViSession vi, ViStatus ret) /* 1 */
{
ViInt32 emitter; /* 3 */
ViInt32 base;
ViInt32 collector;
emitter = 1; /* SMU1 */
base = 2; /* SMU2 */
collector = 4; /* SMU4 */
ViReal64 vc;
ViReal64 vb;
ViReal64 iccomp;
ViReal64 ibcomp;
vc = 0;
vb = 0;
iccomp = 0.1;
ibcomp = 0.1;
ViInt32 mch[3];
ViInt32 mode[2];
ViReal64 range[2];
ViReal64 md[2];
ViInt32 st[2];
ViInt32 eod;
ViInt32 type;
ViReal64 mdata;
ViInt32 stat;
ViInt32 ch;
ret = hp4156b_setSwitch(vi, emitter, 1); /* 27 */
ret = hp4156b_setSwitch(vi, base, 1);
ret = hp4156b_setSwitch(vi, collector, 1);
ret = hp4156b_setFilter(vi, emitter, hp4156b_FLAG_OFF); /* 30 */
check_err (vi, ret);
Line Description
1 Beginning of the perform_meas subprogram.
3 to 26 Declares variables, and defines the value.
27 to 30 Enables measurement channels, and sets the filter off for the
SMU used for the pulse source.
31 Calls the check_err subprogram (shown in Table 5-1) to check if
an error status is returned for the previous line.