串口中断方式通信.pdf

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
串口中断方式通信

维普资讯 2004年 2月 重 庆 大 学 学报 F-eb.2004 第 27卷第2期 Journal ofChongqingUniversity V01.27 No.2 文章编号:1000—582X(2004)02—0079—04 用虚拟设备驱动程序实现中断方式的串口通讯。 张 平 ,张 建 明 (1.重庆大学 ICT研究中心,重庆 400030;2.重庆大学数理学院,重庆 4ooo3o) 摘 要:阐述了在Windows下开发虚拟设备驱动程序 (VxD)进行底层操作的高效的中断方式的串 口通讯。分析了虚拟驱动程序,可编程中断控制器,虚拟化中断的方法;例举了UART芯片8250的工作 原理来分析 串口通讯编程 ;讨论了WIN32应用程序和VxD间的通讯,给出了VxD的内部组成 。应用实 例表 明该方法下串口通讯是高效的。 关键词:虚拟制备驱动程序;串口;虚拟可编程中断控制器设备 中图分类号:TP334.4 文献标识码 :A 用到串口的程序一般都是用 Windows提供的API 负责处理主要的中断处理及例外情况,正是VMM和 函数或者MSCOMM控件或者第三方提供的控件。在 VxD构成了Windows9x的系统核心。 一 般的应用里,由于用不着高效率的反应速度,程序可 开发VxD的工具有很多种,一个是微软提供的 在多线程里用查询法MSCOMM控件来解决串口通讯。 DDK(DeviceDriverKit),二是美国VireoSoftware公司 但是在实时性要求比较高,而计算机运行任务比较重 开发的用于编写设备驱动程序的VroolsD,三是美国 的情况下,以上方法则容易出现丢失字节的情况,从而 KRFTech公司开发的Windriver工具包。这里举例的 降低了整个系统的效率。最有效的办法就是设计 自己 VxD是用汇编语言编写,DDK来编译开发的。 的串口虚拟设备驱动程序,在串口中断函数里第一时 2 硬件中断和 I/O操作 间处理从串口接收到的数据。 在Windowsgx下处理硬件中断,一般应该使用 1 虚拟设备驱动程序 (VirtualxDriver,VxD) VPICD3【提供的功能。VPICD是 Wnidowsgx本身提供 设备驱动程序是管理系统软硬资源的二进制可执 的vxD,提供虚拟的可编程中断控制器 (Programable 行代码 ¨ ,它是 1个 32位保护模式下的可执行 InterruptController)的操作服务,而让其他vxD请求、 DLL。VxD中的 “x”代表 “某些”,VxD是虚拟设备驱 模拟硬件中断。中断反射的过程如图l所示。 动程序的统称,VxD对硬件设备进行虚拟化,软件可 以通过v】D【的服务来使用相应的设备。v】D【只能运 行在 Windows9x上 (不考虑 l6位 Windows),在 Win— dowsNT/2000/XP上不 能正常运行,WindowsNT/ 2000/XP有它们 自己的驱动程序模式,但是它们的实 时性没有Windows9x好 。 所有的VxD的运行处在Windows9x虚拟机管理 器 (VirtualMachnieManagement,VMM)监控下。VMM 图1 中断映射过程 包含了所有基本的系统功能,如任务间通信,此外,还 · 收稿 日期:2003—09—12 作者简介:张平 (1957一),女,重庆人,重庆大学高级工程师,主要从事计算机应用及工业cI研究。

文档评论(0)

xxj1658888 + 关注
实名认证
内容提供者

教师资格证持证人

该用户很懒,什么也没介绍

领域认证该用户于2024年04月12日上传了教师资格证

1亿VIP精品文档

相关文档