void fun()
{
double fDat[50];
viPrintf(vi,"%,50f",fDat);
//viVQueryf ;list pars
//, Array Size. The comma operator is a format modifier that allows
//you to read or write a comma-separated list of numbers (only valid
// with %d and %f format codes). It is a comma followed by an integer.
//The integer indicates the number of elements in the array. The
//comma operator has the format of ,dd where dd is the number of
//elements to read or write.
//int list[5]={101,102,103,104,105};
//viPrintf(vi, "%,5d\n", list);
//d,f,s (s,t,T)
//This example receives data from the session specified by the vi parameter
//and converts the data to a string.
char data[180];
viScanf(vi, "%t", data);
if(status<VI_SUCCESS){
TRACE("Error...\n");
}
// viGpibControlATN ATN line
// VI_GPIB_REN_ADDRESS_GTL
// viPrintf(m_gpib.vi_SMIQ,"DM:IQ:STATE ON\n");off
// interface clear line (IFC)
// viGpibSendIFC
//初始化信号源
viPrintf(vi_SMIQ,"FREQ 1000MHZ\n");
viPrintf(vi_SMIQ,"POW -50dBm\n");//cal:0
viPrintf(vi_SMIQ,"OUTP:STAT ON\n");//RF ON

viPrintf(vi_SMIQ,"MOD:STATE OFF\n");

//初始化频谱仪

viPrintf(vi_FSP,"SYST:DISP:UPDate ON\n");
// viPrintf(vi_FSP,"SYST:PSAVE ON\n");
viPrintf(vi_FSP,"DISP:WIND:TRAC:Y:RLEV -10DBM\n");
viPrintf(vi_FSP,"DISP:TRAC:Y:RLEV:OFFS 0\n");
viPrintf(vi_FSP,"FREQ:SPAN 20MHZ\n");
viPrintf(vi_FSP,"FREQ:CENT 999MHZ\n");
viPrintf(vi_FSP,"INIT;*WAI\n");
viPrintf(vi_FSP,"CALC:MARK:MAX\n");
viPrintf(vi_FSP, "BAND:VID:AUTO ON\n");//BAND:VID 300kHz
viPrintf(vi_FSP, "BAND:RES:AUTO ON\n");
// viPrintf(vi, "SWE:TIME 100ms\n");
//Boonton 功率计
/* viPrintf(vi_Boonton,"SENS:CORR:OFFS 31\n");//外部补偿电平 db!!!!ok
viPrintf(vi_Boonton,"DISP:TRAC:VCENT 55dBm\n");//参考电平
viPrintf(vi_Boonton,"TRIG:LEV 40dBm\n");//触发电平 dBm
viPrintf(vi_Boonton,"TRIG:DEL 0\n");//触发事件位置us ns/div us/div ms/div
viPrintf(vi_Boonton,"DISP:PULS:TIMEBASE 10us\n");//时间单位 (moren s) 100us
viPrintf(vi_Boonton,"DISP:TRAC:VSCALe 5dB\n");//db/格 db dBm,dBV,dBmV,dbuV dBuV

//*/ //设置信号源
viPrintf(m_gpib.vi_SMIQ, "FREQ %dMHZ\n",m_tab2.m_freq);
viPrintf(m_gpib.vi_SMIQ, "POW %dBm\n",m_tab2.m_pow);
//设置频谱仪
viPrintf(m_gpib.vi_FSP, "FREQ:CENT %dMHZ\n",m_tab2.m_cent_freq);
viPrintf(m_gpib.vi_FSP, "FREQ:SPAN %dMHZ\n",m_tab2.m_span);
viPrintf(m_gpib.vi_FSP, "BAND:RES %dMHz\n",m_tab2.m_rbw);
viPrintf(m_gpib.vi_FSP, "BAND:VID %dkHz\n",m_tab2.m_vbw);
viPrintf(m_gpib.vi_FSP, "DISP:WIND:TRAC:Y:RLEV %ddBm\n",m_tab2.m_ref); viPrintf(pView->m_gpib.vi_SMIQ,"FREQ %dMHZ\n",freq);
// viPrintf(pView->m_gpib.vi_SMIQ,"*WAI\n");
viPrintf(pView->m_gpib.vi_FSP,"FREQ:CENT %dMHZ\n",freq);
viPrintf(pView->m_gpib.vi_FSP,"*WAI\n");
viPrintf(pView->m_gpib.vi_FSP,"INIT:CONT OFF\n");
viPrintf(pView->m_gpib.vi_FSP,"INIT:IMM;*WAI\n");
viPrintf(pView->m_gpib.vi_FSP,"CALC:MARK:MAX\n");
viPrintf(pView->m_gpib.vi_FSP,"*WAI\n");
viQueryf(pView->m_gpib.vi_FSP,"CALC:MARK:Y?\n","%t",buf);
viPrintf(pView->m_gpib.vi_FSP,"*WAI\n");



viPrintf(pView->m_gpib.vi_FSP,"DISP:WIND:TRAC:Y:RLEV -10dBm\n");
viSetAttribute(viPSA,VI_ATTR_TMO_VALUE,60000);
viQueryf(viPSA,"*ESR?\n","%ld",&esr);
viQueryf(viSA, "*OPC?\n", "%d", &lOpc); if (!lOpc) {
printf("\nProgram Abort! error ocurred: last command was not completed!\n");
exit(0);
}
// viQuery(vi,writeFmt,"%s,%s",buf1,buf2,...);
}