- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
并口控制与类的使用
从零开始学VC系列教程之?四.并口控制与类的使用 课程之前:这一章让大家等很久了,一直在考虑并口操作应该怎么写.其实这是一个很简单的课题,因为是基于成熟操作类的基础上的,我们主要是学习如果使用网上查到的资料,这一点很关键,只有学会了利用各种资源,才能自主学习取得进步,同时,也可以有效的提高开发效率. 学习目标:掌握VC下并口程序的方法及类的使用. 课程详解: 参照第一章新建一个基于对话框的Vc工程,名称定义为Eg04.
图01?(原文件名:01.JPG)?
? 类型选基于对话框. 在本例中,我们要用到一些资源,现列出如下 WinIo.sys WinIo.dll?这是一个动态库,与WinIo.sys完成同并口的连接. WinIo.lib?这是为静态调用提供的引入库文件.虽然引入库文件和静态库文件都是以Lib为扩展名的,但实际上有本质的区别. WinIo.h??这是IO操作的头文件. ParallelPort.cpp?这是一个并口操作类,用于同WinIo接口,并定义了相关的操作函数.虽然这个类用于同WinIo的操作接口,但这个类并不是从WinIO派生的,只是一个独立的自定义类.至于类的自定义,以前我们也提到过. ParallelPort.h???这是并口类的头文件. 这几个文件是可以从网上下载到的,并不是我做的,所以这个动态库大家就不用问我要源码了,因为我也没有. 首先,把WinIo.lib?WinIo.h?ParallelPort.cpp?ParallelPort.h拷贝到工程目录中,后面马上就要用到.再把WinIo.Dll?WinIo.sys拷贝到工程目录的Debug目录中,以后工程发布后,这两个文件要跟随工程一起. 下面添加引入库到系统中,点击[工程]-[设置]在弹出的对话框中选择[连接]标签,然后在[对象/库模块]中加入WinIo.lib完成后如下图.
图02?(原文件名:02.JPG)?
? ?然后加入并口操作类的头文件.一般来说,网上可以下载到的源码都是以类的形式给出的,VC的好处也在于可以把一个操作封装成类,以便在不同的工程中调用.如图,双击类管理器中的Ceg04Dlg在弹出的文件中加入#include?ParallelPort.h?//添加并口类头文件
图03?(原文件名:03.JPG)?
? 同时,还要定义一个类变量,用于并口类的操作.?在刚打开的类定义文件中找到CEg04Dlg类,并加入一个类变量m_Port,完成后如下图所示
图04?(原文件名:04.JPG)?
? 为了操行方便,把并口操作类也加入到工程中,点击[FileView]标签,标签位置在类管理类下面,见上图中的[FileVi…]然后在[Source?Files]中加入ParallelPort.cpp在[Header?Files]中加入ParallelPort.h这样,就可以在类管理中看到我们所用到的并口操作类了,同时也可以方便的查阅类函及成员变量. 下面在界面中加入六个按钮和两个文本编辑框,方法前面已经介绍多次.完成后如下图
图05?(原文件名:05.JPG)?
? 其中,各控件ID如下 上面的编辑框?IDC_EDIT_READ?????用于显示收到的数据 下面的编辑框?IDC_EDIT_WRITE????用于填写要发送的数据 读数据口?????????IDC_BTN_DREAD?????????用于读取并口数据总线 写数据口?????????IDC_BTN_DWRITE???用于写并口数据口数据 读控制口?????????IDC_BTN_CREAD?????????用于读取并口控制总线 写控制口?????????IDC_BTN_CWRITE?????????用于写并口控制口数据 读状态口?????????IDC_BTN_SREAD?????????用于读并口状态总线 并口流水灯?????????IDC_BTN_LED??????????????????用于在数据线上输出流水灯效果 先要介绍一下并口,以便理解接下来的操作是什么意思.以下一些关于并口的介绍,摘自互联网. 并口SPP模式寄存器定义 数据寄存器(基地址) 位?????????引脚:D-sub?????????信号名?????????信号源?????????是否在连接器处倒相?????????引脚:Centronics? 0????????2????????数据位0????????PC????????否????????2 1????????3????????数据位1????????PC????????否????????3 2????????4????????数据位2????????PC??????
文档评论(0)