HP E1563A User Manual page 132

Table of Contents

Advertisement

Make some measurements and retrieve readings
/******************** make measurements *******************/
/* set channel 1 and 2 to 4V range */
err=ViOut16(digitizer,VI_A16_SPACE,0x24,0x7373); /* 0x7373 sets 4V range */
if (err<VI_SUCCESS) err_handler(digitizer,err);
/* set channel 3 and 4 to 4V range */
err=ViOut16(digitizer,VI_A16_SPACE,0x26,0x7373); /* 0x7373 sets 4V range */
if (err<VI_SUCCESS) err_handler(digitizer,err);
/* set pre-trigger count of 4 */
err=ViOut16(digitizer,VI_A16_SPACE,0x34,0x0);
if (err<VI_SUCCESS) err_handler(digitizer,err);
err=ViOut16(digitizer,VI_A16_SPACE,0x36,0x4);
if (err<VI_SUCCESS) err_handler(digitizer,err);
/* set sample count of 7 */
err=ViOut16(digitizer,VI_A16_SPACE,0x38,0x0);
if (err<VI_SUCCESS) err_handler(digitizer,err);
err=ViOut16(digitizer,VI_A16_SPACE,0x3A,0x7);
if (err<VI_SUCCESS) err_handler(digitizer,err);
/* set trigger source */
err=ViOut16(digitizer,VI_A16_SPACE,0x3C,0x180);
if (err<VI_SUCCESS) err_handler(digitizer,err);
/* initiate a reading with a 30 mS delay */
err=ViOut16(digitizer,VI_A16_SPACE,0x3E,0x21A0);
if (err<VI_SUCCESS) err_handler(digitizer,err);
/******************** retrieve readings *******************/
/* read the CVT registers */
err=ViIn16(digitizer,VI_A16_SPACE,0x10,&cvt_reg);
if (err<VI_SUCCESS) err_handler(digitizer,err);
printf("channel 1 = 0x%4X\n", cvt_reg);
last_reading = (double)cvt_reg*4/32768;
printf("channel 1 = %lf Volts\n", last_reading);
err=ViIn16(digitizer,VI_A16_SPACE,0x12,&cvt_reg);
if (err<VI_SUCCESS) err_handler(digitizer,err);
printf("channel 2 = 0x%4X\n", cvt_reg);
last_reading = (double)cvt_reg*4/32768;
printf("channel 2 = %lf Volts\n", last_reading);
/* E1564A only for channels 3 and 4 -------------- */
err=ViIn16(digitizer,VI_A16_SPACE,0x14,&cvt_reg);
if (err<VI_SUCCESS) err_handler(digitizer,err);
printf("channel 3 = 0x%4X\n", cvt_reg);
last_reading = (double)cvt_reg*4/32768;
printf("channel 3 = %lf Volts\n", last_reading);
err=ViIn16(digitizer,VI_A16_SPACE,0x16,&cvt_reg);
if (err<VI_SUCCESS) err_handler(digitizer,err);
printf("channel 4 = 0x%4X\n", cvt_reg);
last_reading = (double)cvt_reg*4/32768;
printf("channel 4 = %lf Volts\n", last_reading);
132 HP E1563A and E1564A Register-Based Programming
/* high word = 0 */
/* low word = 4 */
/* high word = 0 */
/* low word = 7 */
/* set bits 7 and 8 */
/* set bits 5,7,8 & 13 */
Appendix B

Advertisement

Table of Contents
loading

This manual is also suitable for:

E1564a

Table of Contents