一、如何管理USB设备
由于我们的驱动程序采用面向对象编程,所以要使用设备的一切功能,则必须首先用CreateDevice函数创建一个设备对象句柄hDevice,有了这个句柄,您就拥有了对该设备的控制权。然后将此句柄作为参数传递给其他函数,如InitDeviceDA可以使用hDevice句柄以初始化设备的DA部件并启动DA设备,WriteDeviceDA函数可以用hDevice句柄实现对DA数据的连续输出,SetDeviceDO函数可用实现开关量的输出等。最后可以通过ReleaseDevice将hDevice释放掉。
二、如何批量输出DA数据
当您有了hDevice设备对象句柄后,便可用InitDeviceDA函数初始化DA部件,关于频率等参数的设置是由这个函数的pDAPara参数结构体决定的。您只需要对这个pDAPara参数结构体的各个成员简单赋值即可实现所有硬件参数和设备状态的初始化,然后执行EnableDeviceDA这个函数来启动DA设备。接着便可用GetDeviceStatusDA反复跟踪DA的FIFO状态,以实现连续不间断输出,当您需要停止DA设备时,同样调用EnableDeviceDA便可帮您实现(但设备对象hDevice依然存在)。具体执行流程请看下面的图2.1.1。

注意:图中较粗的虚线表示对称关系。如红色虚线表示CreateDevice和ReleaseDevice两个函数的关系是:最初执行一次CreateDevice,在结束是就须执行一次ReleaseDevice。
五、哪些函数对您不是必须的?
当公共函数如CreateFileObject, WriteFile,ReadFile等一般来说都是辅助性函数,除非您要使用存盘功能。它们只是对我公司驱动程序的一种功能补充,对用户额外提供的。
|