并行接口序设计.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
并行接口序设计

并行接口程序设计 本章介绍在Windows 2000/XP下的并行接口的程序设计方法,分析一下目前进行并行接口编程的方法,可以归纳为几种: DLL直接I/O方式:应用程序通过一个可以进行端口I/O访问的DLL接口软件实现对并行接口的访问,即通过调用第三方DLL接口软件中的I/O端口读写函数实现对并行口的寄存器的读写。这样的软件很多,像WinIo、Inpout32、TVicPort等; Active X控件直接I/O方式:通过一个提供Active X控件实现对端口的直接I/O访问,一般控件的方式采用VB编程比较简单。这样的软件包括Inpout32、TVicPort等; 并行接口专用接口软件:使用这一类软件对并行接口编程要比上2种方法简单,有些软件支持中断。这样的软件如TVicLPT。 自己编写驱动程序:直接在VC++环境下通过Windows 2000 DDK或Windows XP DDK编写驱动程序,这是一种最灵活的方法,但编程的难度比较大。 实现直接I/O方式的软件 并行接口的编程在不同的操作系统下采取不同的方法,在DOS和Windows95之前的操作系统下,可以直接对端口进行读写,根据并行接口的不同模式的寄存器进行读写操作就可以完成各种模式的接口编程。 在目前的Windows 2000/XP操作系统下,不能直接对端口寄存器进行访问,这是由于Windows2000/XP对系统底层操作采取了屏蔽的策略,对用户而言,系统变得更为安全,但这却给接口和接口软件开发人员带来了不小的困难,因为只要应用程序中涉及到底层的操作,开发人员就不得不深入到Windows的内核去编写属于系统级的设备驱动程序。对并行口的读写操作就是如此,由于Windows对系统的保护,应用程序不允许直接I/O操作。 在Windows2000/XP操作系统下,正规的接口程序的编程方法是采取驱动程序的开发方法。由于驱动程序需要与操作系统最底层进行交互,因此不同的操作系统的底层结构对应不同的设备驱动程序模型。Windows 2000/XP与Windows 9x的内部结构不同,这两类操作系统的设备驱动程序是不兼容的,为了解决不同的操作系统的结构的差异带来的设备驱动程序的不兼容的问题,微软公司在1997年提出了Windows操作系统的驱动程序模型,即WDM(Windows Driver Model)。 WDM设备驱动程序的开发是在VC++下通过DDK(Device Development Kit:设备驱动程序开发包)才能完成的,这种方法的编程是比较复杂的,需要了解操作系统的内部结构,并需要熟练的VC++开发经验。如果不采用WDM的方法,一个简单实用的方法是使用间接的I/O方式,就是在应用程序调用一个第三方提供的直接I/O接口程序,由这个间接的I/O程序模块实现对端口的读写。下面介绍几种这样的软件产品。 Inpout32 Inpout32:由LOGIX4U提供的免费软件,可以在/网站下载。 Inpout32提供了以DLL文件和AxtiveX的OCX文件两形式提供了直接访问I/O端口的函数,在文件中只封装了2个函数,Inp32( )和Out32( )。支持从Windows 95/98/Me到Windows NT/2000/XP的多种操作系统。 Inpout32只提供对I/O端口的访问,不针对具体的接口类型,原则上可以完成所有面向寄存器访问编程的应用程序。但Inpout32没有提供中断的支持,所以只能完成以查询控制方式的程序,不能实现中断控制方式的程序设计。这可能会影响接口的传输速度,同时也使得软件的CPU占用率很高。 很可贵的是,在下载的软件包中提供了DLL和OCX文件的VC++源程序代码,这对于开发接口相关的DLL程序和OCX控件程序很有参考价值。 TVicPort EnTech提供了用于接口编程的多个软件产品,包括TVicTW32、TVicLPT和TVicPort等,这些软件可以在EnTech的网站/dev/index.shtm上获得,其中TVicPort是一个免费的软件,是TVicHW32的简化版。 TVicPort是需要安装的,默认的目录是C:\TVicPortPersonal,在该目录下有Docs和Samples两个目录,分别是说明文件和程序例子源文件。核心模块被安装到了系统目录。 TVicPort功能说明 TVicPort的功能包括: 直接I/O访问; 通过一个指针将物理存储器影射用户程序的存储空间; 增强对并行接口的支持,可以直接控制和检测并行端口的信号线; 提供获得IDE硬盘的制造商信息的函数,如硬盘序列号,可以实现软件的硬盘邦定; 支持Windows XP 64bit。 TVicPort提供的核心模块文件包括TVicPort.sys、TVicPort.vxd、T

文档评论(0)

82393aa + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档