编辑: 645135144 | 2019-07-12 |
第二章 使用纲要
第一节、使用上层用户函数,高效、简单 如果您只关心通道及频率等基本参数,而不必了解复杂的硬件知识和控制细节,那么我们强烈建议您使用上层 用户函数,它们就是几个简单的形如 Win32 API 的函数,具有相当的灵活性、可靠性和高效性.诸如 InitDeviceAD、 ReadDeviceProAD_Npt 等.而底层用户函数如WriteRegisterULong 、 ReadRegisterULong 、 WritePortByte 、 ReadPortByte……则是满足了解硬件知识和控制细节、且又需要特殊复杂控制的用户.但不管怎样,我们强烈建议您 使用上层函数(在这些函数中,您见不到任何设备地址、寄存器端口、中断号等物理信息,其复杂的控制细节完全 封装在上层用户函数中. )对于上层用户函数的使用,您基本上不必参考硬件说明书,除非您需要知道板上插座等管 脚分配情况.
第二节、如何管理设备 由于我们的驱动程序采用面向对象编程, 所以要使用设备的一切功能, 则必须首先用 CreateDevice 函数创建一个 设备对象句柄 hDevice,有了这个句柄,您就拥有了对该设备的绝对控制权.然后将此句柄作为参数传递给相应的驱 动函数,如InitDeviceAD 可以使用 hDevice 句柄以程序查询方式初始化设备的 AD 部件,ReadDeviceProAD_Npt 函数可以用 hDevice 句柄实现对 AD 数据的采样读取等.最后可以通过 ReleaseDevice 将hDevice 释放掉. 阿尔泰科技发展有限公司
3
第三节、如何用非空查询方式取得 AD 数据 当您有了 hDevice 设备对象句柄后,便可用 InitDeviceAD 函数初始化 AD 部件,关于采样通道、频率等参数的设 置是由这个函数的 pADPara 参数结构体决定的.您只需要对这个 pADPara 参数结构体的各个成员简单赋值即可实现 所有硬件参数和设备状态的初始化.然后用 StartDeviceAD 即可启动 AD 部件,开始 AD 采样,然后便可用 ReadDeviceProAD_Npt 反复读取 AD 数据以实现连续不间断采样.当您需要暂停设备时,执行 StopDeviceAD,当您 需要关闭 AD 设备时, ReleaseDeviceAD 便可帮您实现(但设备对象 hDevice 依然存在) . (注: ReadDeviceProAD_Npt 虽然主要面对批量读取、高速连续采集而设计,但亦可用它以单点或几点的方式读取 AD 数据,以满足慢速、高实时 性采集需要) .具体执行流程请看下面的图 2.1.1. 图2.1.1 非空方式 AD 采样过程 PXI8603 WIN2000/XP 驱动程序使用说明书 版本:V6.000
4
第四节、如何用半满查询方式取得 AD 数据 当您有了 hDevice 设备对象句柄后,便可用 InitDeviceAD 函数初始化 AD 部件,关于采样通道、频率等参数的设 置是由这个函数的 pADPara 参数结构体决定的.您只需要对这个 pADPara 参数结构体的各个成员简单赋值即可实现 所有硬件参数和设备状态的初始化. 然后用StartDeviceAD即可启动AD部件, 开始AD采样, 接着调用GetDevStatusAD 函数以查询 AD 的存储器 FIFO 的半满状态,如果达到半满状态,即可用 ReadDeviceProAD Half 函数读取一批半满长 度(或半满以下)的AD 数据,然后接着在查询 FIFO 的半满状态,若有效再读取,就这样反复查询状态反复读取 AD 数据即可实现连续不间断采样.当您需要暂停设备时,执行 StopDeviceAD,当您需要关闭 AD 设备时, ReleaseDeviceAD 便可帮您实现(但设备对象 hDevice 依然存在) . (注:ReadDeviceProAD Half 函数在半满状态有效 时也可以单点或几点的方式读取 AD 数据, 只是到下一次半满信号到来时的时间间隔会变得非常短, 而不再是半满间 隔. )具体执行流程请看下面的图 2.1.2. 图2.1.2 半满查询方式 AD 采样过程 阿尔泰科技发展有限公司