Download Agilent Technologies 2000 X-Series Technical data

Transcript
38 Programming Examples
check_instrument_errors();
}
/* Query for numbers result.
* --------------------------------------------------------------- */
void do_query_numbers(query)
char *query;
{
char message[80];
strcpy(message, query);
strcat(message, "\n");
iprintf(id, message);
iscanf(id, "%,10lf\n", dbl_results);
check_instrument_errors();
}
/* Query for an IEEE definite-length block result.
* --------------------------------------------------------------- */
int do_query_ieeeblock(query)
char *query;
{
char message[80];
int data_length;
strcpy(message, query);
strcat(message, "\n");
iprintf(id, message);
data_length = IEEEBLOCK_SPACE;
iscanf(id, "%#b", &data_length, ieeeblock_data);
if (data_length == IEEEBLOCK_SPACE )
{
printf("IEEE block buffer full: ");
printf("May not have received all data.\n");
}
check_instrument_errors();
return(data_length);
}
/* Check for instrument errors.
* --------------------------------------------------------------- */
void check_instrument_errors()
{
char str_err_val[256] = {0};
char str_out[800] = "";
ipromptf(id, ":SYSTem:ERRor?\n", "%t", str_err_val);
while(strncmp(str_err_val, "+0,No error", 3) != 0 )
{
strcat(str_out, ", ");
888
Agilent InfiniiVision 2000 X-Series Oscilloscopes Programmer's Guide