... continued
/**************************************************************************/
void meter_meas(void)
{
/* Configure the meter for 4-wire ohms measurements on channel 1
(default channel). The measurement is made on the 10 ohm range with
the least resolution. */
float ohm_rdg;
IOOUTPUTS(ADDR, "MEAS:FRES? 10, MAX", 18); /* Configure channel 1 */
IOENTER(ADDR, &ohm_rdg); /* Enter reading */
printf("Reading: %f\n\n", ohm_rdg); /* Display reading */
/* Call the function to check for errors */
check_error("meter_meas");
}
/**************************************************************************/
void check_error(char *func_name)
{
/* Read error queue to determine if errors have occurred */
char message[80];
int length = 80;
IOOUTPUTS(ADDR, "SYST:ERR?", 9); /* Read the error queue */
IOENTERS(ADDR, message, &length); /* Enter error string */
while (atoi(message) != 0) /* Loop until all errors are read */
{
printf("Error %s in function %s\n\n", message, func_name);
IOOUTPUTS(ADDR, "SYST:ERR?", 9);
IOENTERS(ADDR, message, &length);
}
}
Chapter 6 Application Programs
C Language Programs
234