
132
HP E1563A and E1564A Register-Based Programming
Appendix B
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);
/* high word = 0 */
if (err<VI_SUCCESS) err_handler(digitizer,err);
err=ViOut16(digitizer,VI_A16_SPACE,0x36,0x4);
/* low word = 4 */
if (err<VI_SUCCESS) err_handler(digitizer,err);
/* set sample count of 7 */
err=ViOut16(digitizer,VI_A16_SPACE,0x38,0x0);
/* high word = 0 */
if (err<VI_SUCCESS) err_handler(digitizer,err);
err=ViOut16(digitizer,VI_A16_SPACE,0x3A,0x7);
/* low word = 7 */
if (err<VI_SUCCESS) err_handler(digitizer,err);
/* set trigger source */
err=ViOut16(digitizer,VI_A16_SPACE,0x3C,0x180); /* set bits 7 and 8 */
if (err<VI_SUCCESS) err_handler(digitizer,err);
/* initiate a reading with a 30 mS delay */
err=ViOut16(digitizer,VI_A16_SPACE,0x3E,0x21A0); /* set bits 5,7,8 & 13 */
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);
Содержание E1563A
Страница 8: ......
Страница 24: ...24 Digitizer Module Set up ...
Страница 84: ...84 Digitizer Command Reference ...
Страница 110: ...110 ...
Страница 138: ...138 HP E1563A and E1564A Register Based Programming Appendix B ...
Страница 156: ...156 HP E1563A and E1564A Verification Tests ...