HP ESA-E Series Programmer's Manual page 93

Esa spectrum analyzers
Table of Contents

Advertisement

/*Reset the analyzer */
viPrintf(viESA,"*RST\n");
/*Display the program heading */
printf("\n\t\t Read in Trace Data using 32-bit Real
Format (using HP-IB) \n\n" );
/* Set the input port to the 50 MHz amplitude reference */
Route50MHzSignal();
/*Set analyzer to single sweep mode */
viPrintf(viESA,"INIT:CONT 0 \n");
/* Set the analyzer to 50 MHz center frequency */
viPrintf(viESA,"SENS:FREQ:CENT 50 MHZ\n");
/*Set the analyzer to 50 MHz Span */
viPrintf(viESA,"SENS:FREQ:SPAN 50 MHZ\n");
/* Specify dB per division of each vertical division and
Units */
viPrintf(viESA,"DISP:WIND:TRAC:Y:SCAL:PDIV 10dB; \n");
viPrintf(viESA,"UNIT:POW DBM; \n");
/*Set analyzer trace data format to 32-bit Real */
viPrintf(viESA,"FORM:DATA REAL,32; \n");
/*Set the binary byte order to SWAP */
viPrintf(viESA, "FORMat:BORDer SWAPped;\n");
/*Trigger a sweep */
viPrintf(viESA,"INIT:IMM; \n");
/*Read the operation complete query */
viQueryf(viESA, "*OPC?\n", "%d", &lOpc);
if (!lOpc)
{
printf("Program Abort! error ocurred: last command was
not completed!\n");
exit(0);
}
/*Get trace and header data, in this case we know its
1701 bytes */
viPrintf(viESA,"TRAC:DATA? TRACE1\n");
viRead (viESA,(ViBuf)cResult,1701,&lRetCount);
/*Extract the number of bytes from the trace header */
memcpy(cBufferInfo,cResult+2,4);
lNumberBytes = atoi(cBufferInfo);
iSize = lNumberBytes +6+1;
/*Get trace header data and trace data */
Chapter 3
Reading Trace Data Using 32-bit Real Format (HP-IB)
Programming Examples
3-29

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents