电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

多媒体定时器

多媒体定时器_第1页
1/14
多媒体定时器_第2页
2/14
多媒体定时器_第3页
3/14
多媒体定时器 1 速度参数实时数据采集的软件实现 1 实时数据采集的要求及软件平台 ---- 数据采集一般是通过软件或硬件的定时中断通过A/D 来读取外界传感器的数据。因此实时数据采集的首要的基本要求是定时准确,即采样间隔具有较好的一致性。 ---- 实时数据采集系统过去一般是在 DOS 操作系统下应用汇编语言开发的。Window s 操作系统的普及应用,尤其是可视化开发软件Visual C++ 的出现,为软件开发提供了强大的图形界面功能,使得开发出来的应用程序具有良好的人机交互功能。汇编语言的特点是难调试,而高级语言具有良好的可读性及方便的调试手段。 ---- 本文采用美国微软公司推出的Visual C++为软件开发工具,采样间隔采用多媒体定时器进行精确定时,并采用 Visual C++ 提供的端口操作的操作台函数进行硬件I/O 编程。 2 多媒体定时器和硬件接口函数 ---- Visual C ++ 提供了两种定时器。一般常用的是系统计时器,它使用函数SetTimer 进行初始化,应用程序响应 SetTimer 函数发送来的消息 WM_TIMER。这个定时器是IBM PC 硬件和 ROM BIOS 构造的定时器逻辑的一个相当简单的扩展。PC 的ROM 初始化 Intel8259 定时器芯片来产生硬件中断08H。这个中断有时称为"定时器滴答"中断。中断08H 每隔 54.925 毫秒产生一次,或大约每秒 18.2 次。BIOS 使用中断08H 更新存于 BIOS 数据区的"时间"值。因此,这个定时器在 Window s 中的最大缺点是计时器的最大分辨率是55 毫秒,也多媒体定时器 2 就是说应用程序每秒只能接收到18 个消息。此外,这个计时器消息的优先权太低,只有在所有的消息(除了消息WM_PAINT)被处理后才能被处理。因此函数 SetTimer 只能用于一般的定时,如扉屏显示时间定时等,它远远不能满足实时数据采集的要求。本文重点介绍的是多媒体定时器(Multimedia Timer)。它使用自己单独的线程(Thread),来调用一个自己的回调函数(Callback Function)。它的优先级很高,它每隔一定时间就发送一个消息而不管其它消息是否执行完。此外,对于现在的 Intel CPU 来说,它的最小定时精度通常都可以达到1 毫秒,足够满足实时数据采集的定时精度。第 4 节将详细阐明 Visual C++ 5.0 中多媒体定时器使用的详细过程。 ---- Visual C++ 5.0 作为 C++的可视化编程工具,具有 C 语言对硬件操作的能力。它提供了大量的操作台函数(可参阅 Visual C++提供的帮助)。例...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

多媒体定时器

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部