图3-12 象这样的问题,如果没有碰上过,也是有点不知所措的。这是我的小小的心得哦!! 3.2.4函数信号发生器的程序的调试 在调试前,先进行IO Config的配置,并通过VISA 助手进行仪器的连接的测试,通过之后,开始调试程序。 我进行分块的调试:首先是调试产生不同波形的功能块是否正常。 图3-13 相应的程序如下: //******以下是对单选按钮的处理函数,通过单击按钮来进行相应的操作 void CGENERATER::OnRadioSin() { m_nEdit_Dcycle.EnableWindow(FALSE);} void CGENERATER::OnRadioTriangle() { m_nEdit_Dcycle.EnableWindow(FALSE);} void CGENERATER::OnRadioFwave() { m_nEdit_Dcycle.EnableWindow(TRUE);} void CGENERATER::OnRadioRamp() { m_nEdit_Dcycle.EnableWindow(FALSE);}等等//********************************************以下是对基本波形选择处理函数 void CGENERATER::CheckWaveRadioButton() { int nID_SelectWaveF; nID_SelectWaveF=GetCheckedRadioButton(IDC_RADIO_SIN,IDC_RADIO_DC); switch(nID_SelectWaveF) {//添加处理代码--即是对波形参数赋值 case IDC_RADIO_SIN:m_nBaseShape="SIN";break; case IDC_RADIO_TRIANGLE:m_nBaseShape="TRI";break; case IDC_RADIO_FWAVE:m_nBaseShape="SQU";break; case IDC_RADIO_RAMP:m_nBaseShape="RAMP";break; case IDC_RADIO_ARBI:m_nBaseShape=m_nArbdlg.m_nSet_Arbitrary;break; case IDC_RADIO_NOISE:m_nBaseShape="NOISE";break; case IDC_RADIO_PULSE:m_nBaseShape="PULSE";break; case IDC_RADIO_DC:m_nBaseShape="DC";break; default:return;}} 上面是对用户的选择进行的变量的赋值以备后用。 下面就是产生各种函数的部分(部分代码): viPrintf(/*funcgen*/m_Session,"OUTPut:LOAD %s\n",m_nResistance);//输出端的设置 viPrintf(/*funcgen*/m_Session,"OUTPut:SYNC %s\n",m_nSignal);//设置同步信号 注意:下面这个是一个子程序,用来对用户的选择进行判断,并将用户选择的波形的相应的参数传递给一个字符串变量中。 CheckWaveRadioButton();//波形选择的判断--将波形的字符串存储在m_nBaseShape中 //**********************************判断用户选择的波形是否是方波 if(GetCheckedRadioButton(IDC_RADIO_SIN,IDC_RADIO_DC)==IDC_RADIO_FWAVE) { viPrintf(/*funcgen*/m_Session,"FUNC %s\n",m_nBaseShape); viPrintf(/*funcgen*/m_Session,"FREQ %f\n",m_nFreq); viPrintf(/*funcgen*/m_Session,"VOLT %f\n",m_nAmpl); viPrintf(/*funcgen*/m_Session,"VOLT:OFFS %f\n",m_nOffs); viPrintf(/*funcgen*/m_Session,"FUNC:SQU:DCYC %f\n",m_nDcycle); }//******************************判断用户选择的是否是任意波 Else if(GetCheckedRadioButton(IDC_RADIO_SIN,IDC_RADIO_DC)==IDC_RADIO_ARBI) { error=viPrintf(/*funcgen*/m_Session,"APPL:USER %f,%f,%f\n",m_nFreq,m_nAmpl,m_nOffs); if(error!=VI_SUCCESS) {error_handler(/*funcgen*/m_Session,error); &nb
首页 上一页 4 5 6 7 8 9 10 下一页 尾页 7/14/14
WORD格式全文下载链接(充值:元)