嵌入式检测系统的应用程序设计
个应用程序调用CloseHandle函数,驱动程序首先收到"清除"IRP,驱动程序应当在"清除"例程中清除和此设备有关的待处理的IRP。然后收到"关闭"设备对象。到此,一个完整的通信过程就完成了。
4、应用程序的工作过程
应用程序在工作前首先要获得设备的内部名,按内部名打开其驱动程序,然后发送控制代码。如图1所示。
图1 应用程序的工作过程
设备的内部名是操作系统为设备分配的全局唯一的标识符,需要用操作系统的API来获得。具体的过程如下:
a.通过GUID号获得设备信息句柄;
b.通过设备信息句柄获得设备接口句柄;
c.用设备接口句柄获取设备详细信息;
d.在设备详细信息中取得设备内部名;
e.释放所用的内存资源。
获得设备的内部名后,调用CreateFile函数就可打开设备的驱动程序,该函数返回一个指向驱动程序的句柄。
取得了驱动程序的句柄后,调用函数DeviceIoControl就可发送控制代码对设备进行通信。
5、开发工具
应用程序是用Visual C++6.0来编写的。Visual C++6.0是Microsoft公司在1998年推出的基于Windows9x和WindowsNT的优秀集成开发环境。它的主要优点如下:
(1) Visual C++的最大特色就是提供面向对象技术的支持,它利用类把大部分与用户界面设计有关的函数封装起来,通过MFC(Microsoft Foundation Class)类库的方式提供给开发人员使用,大大提高了程序代码的重用性。
(2) Visual C++提供一个功能强大的应用程序生成向导------AppWizard。AppWizard将帮助MFC类库的用户自动生成一个运行程序框架------一个空的不能做任何事情的应用程序,而用户只需要在该框架的适当部分扩充代码就可以得到一个满意的应用程序。
(3) Visual C++利用"所见即所得"的方式完成程序界面的设计,大大减轻了程序设计人员的劳动强度,提高了开发效率。
(4) Visual C++的功能强大,用途广泛,不仅可以编写普通的应用程序,还能很好地进行系统软件及通信软件的开发。
结束语:功能强大的USB规格已经成为PC的众多标准之一,钻研计算机科技的种种发展,都离不开USB的相关知识。
- 标准化的PSE模块简化了开关设计(08-19)
- 多用户密码锁的设计(11-08)
- 智能电子血压计设计方案(01-31)
- 高压MOS在进行产品开发时的注意要点(02-01)
- 电子工程师在其设计中所面临的难题(02-17)
- 变电站自动化保护的优化设计思路(04-14)