📄 pm5002k.h
字号:
#ifndef PM5002K_H
#define PM5002K_H
#ifdef PM5002K_EXPORTS
#define ZT_API _declspec(dllexport)
#else
#define ZT_API _declspec(dllimport)
#define ZT_SUCCESS 0 //无错误
#define ERR_PARAMETER1 1 //参数1错
#define ERR_PARAMETER2 2 //参数2错
#define ERR_PARAMETER3 3 //参数3错
#define ERR_PARAMETER4 4 //参数4错
#define ERR_PARAMETER5 5 //参数5错
#define ERR_PARAMETER6 6 //参数6错
#define ERR_PARAMETER7 7 //参数7错
#define ERR_PARAMETER8 8 //参数8错
#define ERR_PARAMETER9 9 //参数9错
#define ERR_PARAMETER_BASEADDR 10 //板卡基地址超出范围,应该在0x100至0x3F0之间未被系统占用的地址
#define ERR_PARAMETER_CH 11 //通道号参数错误,通道号超出范围,调用GetCountFrom检查当前通道号从0开始还是从1开始
#define ERR_PARAMETER_CHIP 12 //芯片号参数错误,芯片号超出范围,调用GetCountFrom检查当前芯片号从0开始还是从1开始
#define ERR_PARAMETER_PORT 13 //口号参数错误,口号超出范围,调用GetCountFrom检查当前口号从0开始还是从1开始
#define ERR_PARAMETER_AI_RANGE 14 //AD量程参数错,此卡不支持这种AD输入量程
#define ERR_PARAMETER_AO_RANGE 15 //DA量程参数错,此卡不支持这种DA输出量程
#define ERR_AD_OVERTIME 20 //AD超时,出错原因可能是:未插卡或IO地址与板卡上设置不匹配
#define ERR_WINDRV 21 //WINDRV运行不正常,可能未安装WINDRV
#define ERR_TIMING 22 //定时未到或外触发脉冲未到,或6508闸门未关闭
#define ERR_IOADDR_DA_OVERTIME 23 //带光隔DA写过程超时
#define ERR_OPEN_IRQ 24 //打开中断出错
#endif
extern "C"
{
//打开设备,必须在调用其他函数之前调用。放在程序初始化时调用比较恰当,只调用一次
ZT_API long _stdcall OpenDevicePM();//返回 0 表示打开设备成功,非0表示失败,但在VB中的Boolean与VC中的BOOL不对应
ZT_API long _stdcall CloseDevicePM();//关闭设备,在用户程序结束时调用一次
ZT_API unsigned long _stdcall GetDll_LastErrNO();//得到错误号
ZT_API void _stdcall ClearDll_LastErrNO();//清除错误号,一旦产生错误,为了使其他函数重新正常运行,必须清除错误号
ZT_API void _stdcall SetCountFrom(unsigned long nCountFrom);//设置芯片号或通道号从0开始还是从1开始
ZT_API unsigned long _stdcall GetCountFrom();//返回当前芯片号或通道号从0开始还是从1开始
ZT_API unsigned char _stdcall ReadB(unsigned long nAddr, unsigned long nOffset);//8位读端口
ZT_API unsigned short _stdcall ReadW(unsigned long nAddr, unsigned long nOffset);//16位读端口
ZT_API unsigned long _stdcall ReadD(unsigned long nAddr, unsigned long nOffset);//32位读端口
ZT_API void _stdcall WriteB(unsigned long nAddr, unsigned long nOffset, unsigned long dataByte);//8位写端口
ZT_API void _stdcall WriteW(unsigned long nAddr, unsigned long nOffset, unsigned long dataWord);//16位写端口
ZT_API void _stdcall WriteD(unsigned long nAddr, unsigned long nOffset, unsigned long dataDoubleWord);//32位写端口
//PM5320 相关
ZT_API long _stdcall ZT5320SetADfreq(unsigned long nAddr, unsigned long ADfreq);
ZT_API long _stdcall ZT5320GetFIFOstatus(unsigned long nAddr);
ZT_API long _stdcall ZT5320ClearFIFO(unsigned long nAddr);
ZT_API long _stdcall ZT5320AIfifo(unsigned long nAddr, unsigned long nChMode, unsigned long nCh, unsigned long AIRange, long *pResultArr, unsigned long nCount, unsigned long ADOverTime);
ZT_API long _stdcall ZT5320TimerAIfifo(unsigned long nAddr, unsigned long nChMode, unsigned long nCh, unsigned long AIRange, long *pResultArr, unsigned long nCount, unsigned long ADOverTime);
ZT_API long _stdcall ZT5320AOSingle(unsigned long nAddr, unsigned long nCh, long nValue, unsigned long AORange);
}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -