. . . continued
void out_waveform(void)
{
/* Configure the waveform and enable FM modulation. The carrier waveform
is a 5 kHz sine wave and the modulating waveform is a 500 Hz sine wave.
The peak frequency deviation is 250 Hz. */
float value;
int stat_cond;
static char *cmd_string[]=
{
"OUTP:LOAD 50", /* Output termination is 50 ohms */
"APPL:SIN 5000,5", /* Carrier waveshape is sine wave,
output frequency is 5 kHz @ 5 Vpp */
"FM:INT:FUNC SIN", /* Modulating waveshape is sine wave */
"FM:INT:FREQ 500", /* Modulating frequency is 500 Hz */
"FM:DEV 250" /* Frequency deviation is 250 Hz */
};
/* Call the function to execute the command strings shown above */
command_exe(cmd_string, sizeof(cmd_string)/sizeof(char*));
/* Turn sweep on and send "1" to output buffer when setup is complete */
IOOUTPUTS(ADDR, "FM:STAT ON;*OPC?", 17);
IOENTER(ADDR, &value);
/* Determine the status of the SRQ line; return "1" if error occurred */
IOSTATUS(ISC, 1, &stat_cond);
if (stat_cond)
{
check_error("out_waveform"); /* Call function to check for errors */
}
else
{
printf("No Errors Were Detected.\n\n");
}
/* Use Serial Poll to read the Status Byte and clear all bits */
IOSPOLL(ADDR, &stat_cond);
}
/**************************************************************************/
6
Chapter 6 Application Programs
Using the Status Registers
265