免费预览已结束,剩余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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- CN115850602B 一种锂离子电池正极浆料分散剂及其制备方法 (深圳好电科技有限公司)
- 幼儿园公开课教研活动方案
- 洋流及其地理意义教学设计
- CN115821020B 一种驱动桥螺旋齿轮的热处理装置及淬火方法 (杭州宗兴科技有限公司)
- 江西省万载县高中生物 第七章 现代生物进化理论 7.2.2 现代生物进化理论的主要内容教案 新人教版必修2
- 2026年售中阶段制定有效的客户拜访计划试题库及答案
- 2026年移动监理考试题库及答案
- 2026年共青团入团考试团队意识测试题库含答案
- 2025年统计法律知识竞赛试题及答案
- 2025年心理咨询师考试题库附完整答案【全国】
- 2026年烟花爆竹从业人员安全培训考试试题附答案
- 施工项目检测设备管理制度
- SYT 6649-2025《油气管道管体缺陷修复技术规范》
- git使用培训课件
- 树立正确婚恋观 走好幸福军旅路
- 经济法概论(财经类) 自考复习资料 自考
- 直肠及肛管超声诊断
- RB/T 124-2018能源管理体系建筑业施工企业认证要求
- JJF 1071-2010国家计量校准规范编写规则
- GB/T 4208-2017外壳防护等级(IP代码)
- 花生病虫害综合防治
评论
0/150
提交评论