欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    使用异步定时器编写一个数据采集的多线程程序.doc

    • 资源ID:2385728       资源大小:38KB        全文页数:4页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    使用异步定时器编写一个数据采集的多线程程序.doc

    实验七任务使用异步定时器编写一个数据采集的多线程程序,和普通定时器比较二者运行时的差异。实验步骤步骤1:设计程序界面,生成程序框架。根据实验要求,我们在面板上放置两个带状图控件,分别用于显示异步定时器和普通定时器的采样结果;放置一双态按钮来控制数据采集的开始和关闭。最终界面如图9-1所示,其主要控件的基本属性列表见表9-1。图9-1 最终用户界面表9-1 主要控件基本属性列表控件类型Constant Name 属性设置面板PanelPANEL命令按钮Command ButtonQUITBUTTONCallback FunctionQuitCallbackLable_Quit双态按钮Toggle ButtonTOGGLEBUTTONCallback FunctionDAQControlCBInitial StateoffLable数据定时器控件TimerTIMERCallback FunctionDataAquirTimerCBInterval (seconds)1.0带状图控件Strip ChartSTRIPCHARTLable普通定时器STRIPCHART_2Lable异步定时器步骤2:添加异步定时器。把异步定时器的仪器驱动程序添加到当前工程,在工程窗口选择EditAdd File To ProjectInstrument(*.fp),路径为CVItoolslibtoolboxasynctmr.fp。步骤3:获得异步定时器句柄,在main函数添加如下语句:static int AsyncTimerID;/*先声明句柄变量*/int main (int argc, char *argv)if (InitCVIRTE (0, argv, 0) = 0)return -1;/* out of memory */if (panelHandle = LoadPanel (0, "lesson9.uir", PANEL) < 0)return -1;DisplayPanel (panelHandle); /*获得异步定时器句柄*/AsyncTimerID=NewAsyncTimer (1.0, -1, 0, AsyncTimerCB, 0);RunUserInterface ();DiscardPanel (panelHandle);return 0;步骤4:声明异步定时器回调函数。在main函数之前声明。/*声明AsyncTimerCB*/int CVICALLBACK AsyncTimerCB (int reserved, int timerId, int event, void *callbackData, int eventData1, int eventData2);步骤5:编写回调函数。/*双态按钮回调函数DAQControlCB*/int CVICALLBACK DAQControlCB (int panel, int control, int event,void *callbackData, int eventData1, int eventData2)int i;switch (event)case EVENT_COMMIT:GetCtrlVal (panelHandle, PANEL_TOGGLEBUTTON, &i);SetCtrlAttribute (panelHandle, PANEL_TIMER, ATTR_ENABLED, i);SetAsyncTimerAttribute (AsyncTimerID, ASYNC_ATTR_ENABLED, i);break;return 0;/*普通定时器回调函数DataAquirTimerCB*/int CVICALLBACK DataAquirTimerCB (int panel, int control, int event,void *callbackData, int eventData1, int eventData2)double data;switch (event)case EVENT_TIMER_TICK:data=(double)rand ()/RAND_MAX*100.0;PlotStripChartPoint (panelHandle, PANEL_STRIPCHART_2, data);break;return 0;/*异步定时器回调函数AsyncTimerCB */int CVICALLBACK AsyncTimerCB (int reserved, int timerId, int event, void *callbackData, int eventData1, int eventData2)double data;switch (event)case EVENT_TIMER_TICK:data=(double)rand ()/RAND_MAX*100.0;PlotStripChartPoint (panelHandle, PANEL_STRIPCHART, data);break;return 0;步骤6:添加头文件#include "asynctmr.h" 。步骤7:保存并运行程序。

    注意事项

    本文(使用异步定时器编写一个数据采集的多线程程序.doc)为本站会员(仙人指路1688)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开