VC编程实现与USB设备通信..docVIP

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

第1章 绪论 1.1 USB简介 USB是由世界著名计算机和通信公司等共同推出的新一代接口标准,全称为Universal Serial Bus(通用串行总线)[1],是一种快速、灵活的总线接口。它是为了解决日益增加的PC外设与有限的主板插槽和端口之间的矛盾而制定的一种串行通信标准。USB应用十分广泛,并具有下述优点: 1、适用于多种外设,使它不需要为不同的外设准备不同的接口和协议; 2、Windows能自动检测到USB设备的热插拔,并自动配置; 3、PC机上的接口线非常紧缺,而USB设备并不需要用户设置端口故无论从用户使用方便性,或从对资源的占用方面看,USB都很优秀; 4、当接入一个USB设备时,全速USB接口可达12Mbit/s。考虑到状态、控制和出错信息,最大理论速度仍可达到9.6Mbit/s,这是其他串行接口协议所不能比拟的,且USB也支持1.5Mbit/s的低速传输。 5、USB接口芯片价格低廉,这也大大促进USB设备的开发与应用。 在USB出现之前,计算机典型接口有并行口、串行口、鼠标口、键盘口、显示器口,及各种卡式接口等,与这些接口对应的有各种不同的电缆,在传输速度方面,这些接口都存在速度偏低的问题。在技术方面,这种设计容易产生I/O冲突,中断不够用,以及对于每一种新的外设都必须设计新的接口卡等缺点。当今的计算机外部设备,都在追求高速度和高通用性。USB接口适应了这种要求,并以其速度快、使用方便、成本低等优点,迅速得到了众多PC厂商和半导体厂商的大力支持,外设向USB过度成为必然趋势。 1.2 USB驱动程序的意义 如果PC主机不知道如何与USB外设通信,那么这个USB外设一点用处都没有,人机接口设备(HID)[2]类是Windows完全支持的USB设备类型中的一种,应用程序可以使用操作系统内设置的驱动与HID通信,但与HID通信不像打开一个端口,设定几个参数,然后就可以读写数据那么简单,在应用程序能与HID交换数据之前,它先要找到设备,获取有关它的报告信息。为做到这些,应用程序必须通过访问通信API函数,使位于上层的应用程序与位于下层的设备驱动程序进行数据交换。应用程序可以使用任何能访问API函数的程序语言,VC++是一种能访问API函数的功能强大的语言,因此,我们应用Visual C++6.0环境下编写与USB设备通信的Windows程序。 1.3 VC++软件的介绍 应用基于MFC AppWizard的应用程序。MFC (Microsoft Foundation Class Library) 中的各种类结合起来构成了一个应用程序框架,它的目的就是在此基础上来建立Windows下的应用程序,这是一种相对SDK来说更为简单的方法。因为总体上,MFC框架定义了应用程序的轮廓,并提供了用户接口的标准实现方法,要做的就是通过预定义的接口把具体应用程序特有的东西填入这个轮廓。Microsoft Visual C++提供了相应的工具来完成这个工作:AppWizard可以用来生成初步的框架文件(代码和资源等);资源编辑器用于帮助直观地设计用户接口;ClassWizard用来协助添加代码到框架文件;最后,编译,则通过类库实现了应用程序特定的逻辑。 1.4 系统方案设计 上位机界面应用VC++6.0软件来编写,为了简单适用,在创建工程时采用对话框类型。一个好的应用程序首先要有好的用户界面,看起来赏心悦目,使用起来简单、方便。显示界面上的各个元素需要和USB设备上的元件摆放位置相对应。把要完成的一系列功能的显示元素分成不同的模块来进行程序的编写,每一个模块分别完成一种功能,这样既方便检查程序,也方便在通信发生错误时的对错误进行分析。 为了实现PC机对USB设备的识别,上位机端需要有一个USB设备的驱动程序来识别和支持USB设备,否则PC机将无法识别USB设备。这里选用DriverStudio软件来编写,它能生成一个简单的驱动程序的框架,根据需要,可以在此基础上进行更深层的开发。 1.5 预期结果 通过上位机软件和驱动程序的编写实现以下功能: 1、完成上位机软件的编写,并可以在设备没有连接时显示连接错误。 2、完成驱动程序的编写,实现上位机能发现USB设备,并使上位机能正确配置设备。同时在显示界面上显示出找到设备。 3、实现双向传输。在上位机软件中可以控制USB设备中的相应显示,同时可以接收到USB设备传回的消息,并在显示界面上显示。达到一个PC机与USB设备信息的交互,完成通信。 4、利用VC编程实现对计算机底层硬件的操作,培养在此方面工程开发的能力。 第2章 USB协议 2.1 USB系统的使用分类及系统的描述 USB设计的初衷是针对桌面电脑而不是应用于可移动的环境下的。软件体系通过对各种主机控制器提供支持以保证将来对USB

文档评论(0)

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

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

1亿VIP精品文档

相关文档