... continued
/* Channel 2: Turn null on */
IOOUTPUTS(ADDR, "SENS2:VOLT:DC:NULL ON", 21);
/* Place the null reading into the Null Register. To do this,
suppress the carriage return (CR) and line feed (LF) before
sending the null reading. */
/* First, disable EOI (End-or-Identify) and EOL (End-of-Line) */
IOEOI(ISC, 0);IOEOL(ISC, " ", 0);
/* Send "SENS" header and suppress CR/LF */
IOOUTPUTS(ADDR, "SENS2:VOLT:DC:NULL:VAL ", 23);
/* Re-enable EOI and EOL for normal GPIB operation and send data */
IOEOI(ISC,1);IOEOL(ISC, state, 2);
IOOUTPUT(ADDR, rdg_ch2);
/* Channel 1: Take nulled reading, transfer reading to output buffer,
and print nulled reading */
IOOUTPUTS(ADDR, "ROUT:TERM FRON1", 15);
IOOUTPUTS(ADDR, "READ?", 5);
IOENTER(ADDR, &null_ch1);
printf("Nulled Reading (Chan 1): %f\n", null_ch1);
/* Channel 2: Take nulled reading, transfer reading to output buffer,
and print nulled reading */
IOOUTPUTS(ADDR, "ROUT:TERM FRON2", 15);
IOOUTPUTS(ADDR, "READ?", 5);
IOENTER(ADDR, &null_ch2);
printf("Nulled Reading (Chan 2): %f\n", null_ch2);
/* Call the function to check for errors */
check_error("meter_meas");
}
6
Chapter 6 Application Programs
C Language Programs
237