beautypg.com

HP IEEE 1394 User Manual

Page 52

background image

VXI Programming Using the IEEE 1394 Serial Bus

51

Chapter 3

// set up byte swap function for readings transferred from
// E8491A shared memory to the PC
#define SWAP_FLOAT64(rdgs) \
{ unsigned char src[8]; \

*((double *)src) = *((double *)rdgs); \
((unsigned char *) (rdgs))[0] = ((unsigned char*) (src))[7]; \
((unsigned char *) (rdgs))[1] = ((unsigned char*) (src))[6]; \
((unsigned char *) (rdgs))[2] = ((unsigned char*) (src))[5]; \
((unsigned char *) (rdgs))[3] = ((unsigned char*) (src))[4]; \
((unsigned char *) (rdgs))[4] = ((unsigned char*) (src))[3]; \
((unsigned char *) (rdgs))[5] = ((unsigned char*) (src))[2]; \
((unsigned char *) (rdgs))[6] = ((unsigned char*) (src))[1]; \
((unsigned char *) (rdgs))[7] = ((unsigned char*) (src))[0]; \

}

// prototypes
void check(ViSession vi, ViStatus error);
void err_handler(ViSession vi, ViStatus err);

void main(void)
{

ViSession vi, defaultRM, fw;

ViStatus

errStatus,

err;

unsigned long start_addr;// starting address of shared memory
ViReal64 rdgs[8000];// array for readings from shared memory
int i;
ViChar err_message[256];

// open a VXIplug&play device session and reset the multimeter
errStatus = hpe1410_init(E1410,0,1,&vi);
if( VI_SUCCESS > errStatus)
{

hpe1410_error_message( vi, errStatus, err_message);
printf("Unable to open %s\n", E1410);
printf("hpe1410_init() returned error message %s\n", err_message);
return;

}

// open a VISA session to the E8491A

viOpenDefaultRM(&defaultRM);
viOpen(defaultRM,E8491, VI_NULL, VI_NULL, &fw);

// get E8491A shared memory base address
viGetAttribute(fw, VI_ATTR_MEM_BASE, &start_addr);

// enable multimeter error detection
hpe1410_errorQueryDetect(vi, 1);

// set a 5s timeout period to allow functions to complete
errStatus = hpe1410_timeOut(vi, 5000);
check(vi, errStatus);

// configure the multimeter for DCV measurements
errStatus = hpe1410_confVoltDc(vi);
check(vi, errStatus);

Artisan Technology Group - Quality Instrumentation ... Guaranteed | (888) 88-SOURCE | www.artisantg.com

This manual is related to the following products: