3-38
Chapter 3
Programming Examples
Reading Trace Data Using 32-bit Real Format (RS-232)
/* Specify dB per division of each vertical division &
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, "FORM:BORD SWAP;\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,2,4);
lNumberBytes = atoi(cBufferInfo);
iSize = lNumbe6+1;
/*Get trace header data and trace data */
viRead (viESA,(ViBuf)cResult,iSize,&lRetCount);
/*Extract the trace data*/
memcpy(dTraceArray,6,(size_t)lNumberBytes);
/*Save trace data to an ASCII file*/
fTraceFile=fopen("C:\\temp\\ReadTrace32RS232.txt","w");
fprintf(fTraceFile,"ReadTrace32RS232.exe
Output\nHewlett-Packard 1999\n\n");
fprintf(fTraceFile,"The %d trace data points of the
spectrum:\n\n",(lNumberBytes/4));
Summary of Contents for E4401B
Page 6: ...vi ...
Page 14: ...xiv Contents ...
Page 64: ...2 34 Chapter2 HP ESA Status Registers Using the Analyzer Status Registers ...
Page 65: ...3 1 3 Programming Examples ...
Page 151: ...4 1 4 Programming Command Cross References ...
Page 286: ...5 132 Chapter5 Language Reference UNIT Subsystem ...
Page 287: ...6 1 6 HP 8590 HP ESA Spectrum Analyzers Programming Conversion Guide ...
Page 292: ...1 HP 8590 HP ESA Spectrum Analyzers Conversion Guide ...
Page 368: ...7 1 7 Error Messages ...
Page 393: ...7 26 Chapter7 Error Messages 201 to 799 Device Specific Errors ...