免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验七任务使用异步定时器编写一个数据采集的多线程程序,和普通定时器比较二者运行时的差异。实验步骤步骤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;plotstr
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 14502-2025水中镍-63的分析方法
- 2023年贵州辅警协警招聘考试真题附答案详解(研优卷)
- 2024年宿州辅警协警招聘考试真题及答案详解1套
- 2023年石柱县辅警招聘考试题库完整参考答案详解
- 2023年石家庄辅警招聘考试真题附答案详解(能力提升)
- 2023年秀山土家族苗族自治县辅警协警招聘考试真题含答案详解(典型题)
- 2023年眉山辅警招聘考试题库附答案详解(轻巧夺冠)
- 2024年吉林辅警协警招聘考试真题含答案详解(综合卷)
- 2024年临汾辅警招聘考试真题及答案详解(全优)
- 2023年绥化辅警协警招聘考试真题含答案详解(基础题)
- 《119全国消防日》 课件 小学安全教育主题班会
- 2025年国企计算机岗位笔试真题及答案
- 采煤沉陷区综合治理项目初步设计
- 矿山机器人协同控制-洞察与解读
- 破产案件相关知识培训课件
- 儿科口腔护理知识培训课件
- 2025至2030中国聚烯烃弹性体(POE)行业市场深度调研及发展策略与投资机会报告
- 2024年石河子大学公开招聘辅导员笔试题含答案
- 12345政务热线培训
- 2025煤矿安全规程解读
- 建筑行业施工安全管理制度汇编
评论
0/150
提交评论