//turn off autorange, set a 30V DCV range errStatus = hpe1410_voltDcRang(vi, 0, 30); check(vi, errStatus);
//set a 10 us aperture time
errStatus = hpe1410_voltDcAper(vi,
// set 8000 readings
errStatus = hpe1410_sampCoun(vi, 8000); check(vi, errStatus);
//store the readings in HP E8491A shared memory
//specify the E8491A shared memory base address errStatus = hpe1410_memVmeAddr(vi, start_addr); check(vi, errStatus);
//specify the amount of memory required
//(8000 readings * 8 bytes/reading)
errStatus = hpe1410_memVmeSize(vi, 64000); check(vi, errStatus);
//enable the readings to be stored
errStatus = hpe1410_memVmeStat(vi, 1);
//disable multimeter error detection hpe1410_errorQueryDetect(vi, 0);
//initiate the multimeter to take the readings errStatus = hpe1410_initImm(vi);
//pause 30s to allow readings to complete Sleep (30000);
//transfer the 8,000 readings (64,000 bytes) from the multimeter using
//the VISA function viMoveIn8
err = viMoveIn8(fw, VI_A24_SPACE, 0, 64000, (ViPUInt8)rdgs); if(err < VI_SUCCESS) err_handler(fw, err);
//swap the bytes once they are transferred from shared memory for (i=0;i<7999;i++)
{
SWAP_FLOAT64(&rdgs[i]);
}
//print some readings to verify the transfer was successful for (i=0; i<10; i++)
{
printf("%lf\n", rdgs[i]);
}
//close the device sessions
hpe1410_close(vi); | // | close | E1410 | session |
viClose(fw); | // | close | E8491 | session |
52 VXI Programming Using the IEEE 1394 Serial Bus | Chapter 3 |