编辑: 哎呦为公主坟 | 2015-08-25 |
05 2 使用纲要 2.1 使用上层用户函数,高效、简单 如果您只关心通道及频率等基本参数,而不必了解复杂的硬件知识和控制细节,那么我们强烈 建议您使用上层用户函数,它们就是几个简单的形如 Win32 API 的函数,具有相当的灵活性、可靠 性和高效性.而底层用户则是需了解硬件知识和控制细节、且又需要特殊复杂控制的用户.但不管 怎样,我们强烈建议您使用上层函数(在这些函数中,您见不到任何设备地址、寄存器端口、中断 号等物理信息,其复杂的控制细节完全封装在上层用户函数中. )对于上层用户函数的使用,您基本 上不必参考硬件说明书,除非您需要知道板上连接器管脚分配情况. 2.2 如何管理 USB 设备 由于我们的驱动程序采用面向对象编程,所以要使用设备的一切功能,则必须首先用 CreateDevice 函数创建一个设备对象句柄 hDevice,有了这个句柄,您就拥有了对该设备的绝对控制 权. 然后将此句柄作为参数传递给相应的驱动函数. 最后可以通过 ReleaseDevice 将hDevice 释放掉. 2.3 如何批量读取 AD 数据 当您有了 hDevice 设备对象句柄后,便可用 InitDeviceAD 函数初始化 AD 部件,关于采样通道、 频率等的参数的设置是由这个函数的 pADPara 参数结构体决定的. 您只需要对这个 pADPara 参数结 构体的各个成员简单赋值即可实现所有硬件参数和设备状态的初始化, 然后这个函数启动 AD 设备. 接着便可用 ReadDeviceAD 反复读取 AD 数据以实现连续不间断采样,当您需要关闭 AD 设备时, ReleaseDeviceAD 便可帮您实现(但设备对象 hDevice 依然存在) .具体流程请参考《AD 数据采集操 作流程》章节. 2.4 如何实现开关量的简便操作 当您有了 hDevice 设备对象句柄后,便可用 SetDeviceDO 函数实现开关量的输出操作,其各路 开关量的输出状态由其 bDOSts[0]中的成员变量 DO0-DO5 决定.由GetDeviceDI 函数实现开关量的 输入操作,其各路开关量的输入状态由其 bDISts[0]中的成员变量 DI0-DI5 决定.具体流程请参考 《开关量输入输出操作流程》章节. 2.5 哪些函数对您不是必须的 公共函数一般来说都是辅助性函数,这些函数您可完全不必理会,除非您是作为底层用户管理 设备. 公共函数只是对我公司驱动程序的一种功能补充, 对用户额外提供的. 它们可以帮助您在 NT、 Win7 等操作系统中实现对您原有传统设备如 ISA 卡、串口卡、并口卡的访问,而没有这些函数,您 可能在基于 Windows NT 架构的操作系统中无法继续使用您原有的老设备.
06 3 各功能操作流程介绍 3.1 AD 数据采集操作流程
07 3.2 开关量输入输出操作流程
08 4 设备操作函数接口介绍 由于我公司的设备应用于各种不同的领域,有些用户可能根本不关心硬件设备的控制细节,只 关心首末通道、采样频率等,然后就能通过一两个简易的采集函数便能轻松得到所需要的数据.这 方面的用户我们称之为上层用户.那么还有一部分用户不仅对硬件控制熟悉,而且由于应用对象的 特殊要求,则要直接控制设备的每一个端口,这是一种复杂的工作,但又是必须的工作,我们则把 这一群用户称之为底层用户.因此总的看来,上层用户要求简单、快捷,他们最希望在软件操作上 所要面对的全是他们最关心的问题,而关于设备的物理地址、端口分配及功能定义等复杂的硬件信 息则与上层用户无任何关系.那么对于底层用户则不然.他们不仅要关心设备的物理地址,还要关 心虚拟地址、端口寄存器的功能分配,甚至每个端口的 Bit 位都要了如指掌,看起来这是一项相当 复杂、繁琐的工作.但是这些底层用户一旦使用我们提供的技术支持,则不仅可以让您不必熟悉总 线复杂的控制协议,同是还可以省掉您许多繁琐的工作. 综上所述,用户使用我公司提供的驱动程序软件包将极大的方便和满足您的各种需求.但为了 您更省心,别忘了在您正式阅读下面的函数说明时,先明白自己是上层用户还是底层用户,因为在 《驱动接口函数总列表》中的备注栏里明确注明了适用对象. 另外需要申明的是,在本章和下一章中列明的关于 LabView 的接口,均属于外挂式驱动接口, 他是通过 LabView 的Call Labrary Function 功能模板实现的. 它的特点是除了自身的语法略有不同以 外,每一个基于 LabView 的驱动图标与 Visual C++等语言中每个驱动函数是一一对应的,其调用流 程和功........