毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 论文 >> 正文

VC++单片机虚拟仪器测试系统 第4页

更新时间:2010-5-5:  来源:毕业论文
VC++单片机虚拟仪器测试系统 第4页
//线程函数的代码
static CEvent g_End;
struct data
{ CRect rect;
 COSCILLOGRAPH* dlg;
 CStatic* m_pCS;
}m_Data;
//********************************线程0
UINT ThreadProc(LPVOID param){
 if(::WaitForSingleObject(g_End,0)==WAIT_OBJECT_0)
 {  data* p=(data*)param;
 // p->dlg->InvalidateRect(p->rect,TRUE);//这里是针对对话框的的窗体进行刷新  p->m_pCS->InvalidateRect(p->rect,TRUE);//这里是针对指定控件如静态控件的刷新,相对对话框的刷新,这种刷新不会出现闪屏问题
  g_End.ResetEvent();
     return 0; }
return 0
//主函数的代码
//***********************************示波器采集数据操作
void COSCILLOGRAPH::OnBtnOsciRead()
{
//***************
 if(m_count!=0||m_setup!=0)
 { if(m_setup!=0)
  {ManulSet();
    m_setup=0;}
  else
  {  m_count=0; }}
 viSetAttribute(/*oscillograph*/theApp.m_Session,VI_ATTR_TMO_VALUE,m_time);//***************
 Capture();
//***************
 return;
}
/***********************************数据的采集
void COSCILLOGRAPH::Capture()
{// m_Static.m_XShow=m_nCtrl_Slide_X.GetPos();
// m_Y=m_nCtrl_Slide_Y.GetPos();

 ViStatus error;
// viPrintf(/*oscillograph*/m_Session,":RUN\n");
 viPrintf(/*oscillograph*/theApp.m_Session,":ACQ:COMPLETE 100\n");
 viPrintf(/*oscillograph*/theApp.m_Session,":wave:points 2000\n");
 viPrintf(/*oscillograph*/theApp.m_Session,":DIGITIZE %s\n",osciset.m_Channel);
//******************************************preamble的采集 
 viPrintf(/*oscillograph*/theApp.m_Session,":waveform:preamble?\n");    error=viScanf(/*oscillograph*/theApp.m_Session,"%f,%f,%f,%f,%f,%f,%f,%f,%f,%f\n",&preamble[0],&preamble[1],&preamble[2],&preamble[3],&preamble[4],&preamble[5],&preamble[6],&preamble[7],&preamble[8],&preamble[9]);
  if(error!=VI_SUCCESS)
  {error_handler(/*oscillograph*/theApp.m_Session,error);
  return;
  }
//***************************************数据点的采集部分--利用字符转换符何viScanf函数来进行读取数据
//***************************************并定义一个无符号的字符数组来对读取的数据进行存储--随后进行数据
//**************************************的转换和数据的处理---2005/5/17
 viPrintf(/*oscillograph*/theApp.m_Session,":waveform:data?\n");
// int num=::atoi((TCHAR*)(osciset.m_Ret_Count.LockBuffer()));//数据的转换
//    unsigned char* buff=new unsigned char[2000];//动态的分配内存
    unsigned char temp[2000];
    for(int i=0;i<2000;i++)
 {  error=viScanf(/*oscillograph*/theApp.m_Session,"%c",&temp[i]);
  if(error!=VI_SUCCESS)
  {
     error_handler(/*oscillograph*/theApp.m_Session,error);
     return;
  }  }
//****************************数据的转换
www.751com.cn
 } m_Static.data_counter=n;
// m_Data.m_n=n;
// m_Static.m_XShow=m_X;
//****************************数据存储
// time=(((float)1-preamble[6])*preamble[4]+preamble[5])*1000;//时间有问题--负值!2005/5/17
 for(int k=0;k<n;k++)
 {     m_Static.wave_data[k]=(((float)temp[k]-preamble[9])*preamble[7]+preamble[8])*5;        
 } Invalidate();
 return; }

//*************************************下面是测量的线程
struct MEASURE
{
 CComboBox* m_CB_Source;
 CComboBox* m_CB_Param;
 CDialog* m_dlg;
}m_measure;
//*************************************线程函数如下
UINT ThreadMeasure(LPVOID param)
{
 MEASURE* m_meas=(MEASURE*)param;

 int m_nSource;
 CString m_nStr_Source;

上一页  [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]  ... 下一页  >> 

VC++单片机虚拟仪器测试系统 第4页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©751com.cn 辣文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。