发表于:2007-05-12 17:22:00
楼主
求助!望各路大侠指点小弟,我正在做毕业设计,使用的是中泰的PCI8333采集卡,要求使用C++编程后台实现数据的定时和中断转换,我现在写了一点程序,只能进行简单的数据采集。我在编程的过程中遇到点问题!
程序的结构体是按下面的方式定义的:
struct ZT_PCIBOARD
{
long lIndex; /* PCI卡索引值,该值在安装时被系统分配*/
HANDLE hHandle; /* PCI卡的操作句柄(只有涉及中断时才用)*/
short nCh; /* 通道号*/
long lData; /*输入输出数据变量*/
long* plData; /*输入输出数据指针*/
long lCode; /*设备控制字,具体含义见函数说明*/
};
启动模拟量采集程序后,通过lCode选择返回值类型后,不知道采集后的值是否保存在lData中?
程序我编译后可以运行,但是我不能确定最后的结果是不是采集的值,因为每次的结果都不是一样的,我想可能是因为不同时间采集的数据不一样,程序和函数的说明如下:
 打开设备:
函数:long APIENTRY OpenDevicePlx(ZT_PCIBOARD* bs)
功能:打开某一中泰研创PCI-8333卡
入口有效参数:lIndex PCI卡索引值
出口返回参数:hHandle PCI卡的操作句柄(只有涉及中断时,返回才有意义)
返回值: 0 打开设备成功
-1 打开设备失败
 关闭设备:
函数:long APIENTRY CloseDevicePlx(ZT_PCIBOARD* bs)
功能:关闭某一中泰研创PCI-8333卡
入口有效参数:lIndex PCI卡索引值
出口返回参数:无
返回值: 0 关闭设备成功
-1 关闭设备失败
6.3.2 模拟量输入部分:
 初始化
函数:long APIENTRY ZT8333Init (ZT_PCIBOARD* bs)
功能:初始化模拟量数据采集。
入口有效参数: lIndex PCI卡索引值
nCh 通道号:1-16
lCode 设备控制码:0 返回原码值(默认)
1 返回单极性值(0 – 10伏)
2 返回双极性值(-5 – +5伏)
4 外触发启动A/D转换(默认程序启动)
出口返回参数:无
返回值: 0 A/D启动成功
-1 A/D启动失败
 模拟量采集
函数:long APIENTRY ZT8333AI (ZT_PCIBOARD* bs)
功能:对某一通道模拟量数据采集。
入口有效参数: lIndex PCI卡索引值