计算机应用 | 古代文学 | 市场营销 | 生命科学 | 交通物流 | 财务管理 | 历史学 | 毕业 | 哲学 | 政治 | 财税 | 经济 | 金融 | 审计 | 法学 | 护理学 | 国际经济与贸易
计算机软件 | 新闻传播 | 电子商务 | 土木工程 | 临床医学 | 旅游管理 | 建筑学 | 文学 | 化学 | 数学 | 物理 | 地理 | 理工 | 生命 | 文化 | 企业管理 | 电子信息工程
计算机网络 | 语言文学 | 信息安全 | 工程力学 | 工商管理 | 经济管理 | 计算机 | 机电 | 材料 | 医学 | 药学 | 会计 | 硕士 | 法律 | MBA
现当代文学 | 英美文学 | 通讯工程 | 网络工程 | 行政管理 | 公共管理 | 自动化 | 艺术 | 音乐 | 舞蹈 | 美术 | 本科 | 教育 | 英语 |

免费毕业论文--基于网络的虚拟仪器测试系统(一(7)

2013-06-08 02:45
导读:索了蛮久,使自己对VC中的resource.h文件产生了怀疑:因为该文件中都是一些关于控件ID资源的定义。是不是ID资源冲突了呢?!通过自己的仔细的研究和思
索了蛮久,使自己对VC中的resource.h文件产生了怀疑:因为该文件中都是一些关于控件ID资源的定义。是不是ID资源冲突了呢?!通过自己的仔细的研究和思索,发现了另外一个问题:在该文件中有许多自己并没有使用到的空闲ID,怎么会这样呢?原来是自己在设计界面的过程中,经常的添加和删除控件,使得有些控件ID并没有随着自己对控件的删除而删除。故而遗留了下来!!于是我就将其全部的进行删除。感觉ID就干净了许多。但是,前面的问题还没有解决啊!于是我对单选按钮的ID进行的排序和分析,发现冲突的按钮的ID的顺序也是交叉的。并没有顺序的进行ID的定义。我怀疑是这个原因,于是对混乱的ID进行的重新的排序。并将不同的两组ID进行了分离。重新运行程序,结果一切OK!

 图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);}等等//********************************************以下是对基本波形选择处理函数 (科教范文网 fw.nseac.com编辑发布)
 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

上一篇:PHS网络优化和维护指导思想-通信工程毕业论文 下一篇:没有了