⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xcrf500api.h

📁 RFID读写器调用实例程序。RFID读写器是远望谷804系列。通过JNI调用远望谷API。 提供读
💻 H
📖 第 1 页 / 共 3 页
字号:
// XCRF500API.h : main header file for the XCRF500API DLL
//
//#include "stdafx.h"
#if !defined(AFX_XCRF500API_H__293F53CE_E845_47D8_8173_316A3F285E84__INCLUDED_)
#define AFX_XCRF500API_H__293F53CE_E845_47D8_8173_316A3F285E84__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

/*
#ifndef __AFXWIN_H__
	#error include 'stdafx.h' before including this file for PCH
#endif
	*/

#include "resource.h"		// main symbols


// ************* 返回错误信息定义 *****************************//
#define FUCCESS_RETURN			 1	// 操作成功返回

#define ERROR_NODATA_RETURN		 0	// 没有数据返回,接收数据长度不足
#define ERROR_HANDLE_VALUE		-1	// 错误的端口句柄
#define ERROR_USERDATA_LEN		-2	// 用户数据长度错
#define ERROR_USERDATA_ADDRESS	-3	// 用户数据地址错
#define ERROR_RECEIVEDATA_LEN	-4	// 接收数据长度不符
#define ERROR_SENDDATA_FAIL		-5	// 数据格式错误	0X3F
#define ERROR_SENDCOMMOND_FAIL	-6	// 发送命令失败
#define ERROR_READWRITE_FAIL	-7	// 读写数据失败
#define ERROR_IDENTIFY_FAIL		-8	// 识别标签ID失败 0X3A
#define ERROR_NOKNOWTAG_FAIL	-9	// 未指定有效的标签类型 0X3A
#define ERROR_PORT_OPENED		-10 // 端口已经打开,句柄非INVALID_HANDLE_VALUE
#define ERROR_CONFIG_LOST		-11 // 配置文件未找到或读取失败,主要参数无法初始化
#define ERROR_CONNECT_FAIL		-12 // 连接失败
#define ERROR_OPENPORT_FAIL		-13 // 建立连接失败
#define ERROR_CLOSEPORT_FAIL	-14 // 断开连接失败

#define ERROR_PARAMETER_LEN	-15	// 查询/设定参数数据长度超出
#define ERROR_PARAMETER_FAIL	-16	// 查询/设定参数失败

#define ERROR_READERCLASS_ERROR	-17	// 读写器类型无效

#define ERROR_OTHER_FAIL		-20	// 其它错误失败
//-------------attlee20060815-----------------------
#define   ERROR_Reader_01H   1001   //   读写器FPGA/DSP软件版本错误
#define   ERROR_Reader_02H   1002   //   读写器基带板硬件版本号错误
#define   ERROR_Reader_03H   1003   //   读写器射频板硬件版本号错误
#define   ERROR_Reader_04H   1004   //   读写器系统参数表错误
#define   ERROR_Reader_05H   1005   //   读写器FPGA自检错误
#define   ERROR_Reader_06H   1006   //   读写器射频板自检错误
#define   ERROR_Reader_07H   1007   //   读写器以太网检测错误
#define   ERROR_Reader_08H   1008   //   读写器实时时钟错误
#define   ERROR_Reader_09H   1009   //   读写器外部存储器检测错误
#define   ERROR_Reader_11H   1010   //   读写器操作密码错误
#define   ERROR_Reader_12H   1011   //   错误的天线号
#define   ERROR_Reader_13H   1012   //   当前读写器处于测试模式
#define   ERROR_Reader_14H   1013   //   读写器内部flash失败
#define   ERROR_Reader_15H   1014   //   当前读写器正执行标签操作
#define   ERROR_Reader_16H   1015   //   读写器运行错误(如某些意外导致操作终止)
#define   ERROR_CommandData_20H   2001   //   接收指令或数据不完整
#define   ERROR_CommandData_21H   2002   //   接收指令或数据的CRC校验错误
#define   ERROR_CommandData_22H   2003   //   指令类型当前读写器型号不支持
#define   ERROR_CommandData_23H   2004   //   当前型号读写器不支持该标签协议
#define   ERROR_CommandData_24H   2005   //   指令参数错误
#define   ERROR_CommandData_25H   2006   //   指令侦数据结构错误
#define   ERROR_CommandData_26H   2007   //   不支持的指令类型
#define   ERROR_EPCTag_60H   3001   //   标签无响应或不存在
#define   ERROR_EPCTag_61H   3002   //   操作存储区不存在
#define   ERROR_EPCTag_62H   3003   //   标签操作地址溢出
#define   ERROR_EPCTag_63H   3004   //   操作存储区被锁定
#define   ERROR_EPCTag_64H   3005   //   标签存取密码错误
#define   ERROR_EPCTag_65H   3006   //   标签灭活密码错误
#define   ERROR_EPCTag_66H   3007   //   操作未完成,被上位机终止(如关功放)
#define   ERROR_EPCTag_67H   3008   //   对未初始化标签做读/写/锁数据区操作
#define   ERROR_EPCTag_68H   3009   //   未初始化标签
#define   ERROR_EPCTag_69H   3010   //   标签返回未知类型错误
#define   ERROR_ISO6BTag_90H   4001   //   标签无响应或射频范围内无标签
#define   ERROR_ISO6BTag_91H   4002   //   该指令不支持
#define   ERROR_ISO6BTag_92H   4003   //   该指令位被识别,如格式错误
#define   ERROR_ISO6BTag_93H   4004   //   该选项不支持
#define   ERROR_ISO6BTag_94H   4005   //   未知错误
#define   ERROR_ISO6BTag_95H   4006   //   无法存取特定的块
#define   ERROR_ISO6BTag_96H   4007   //   块已锁定,无法再次锁定
#define   ERROR_ISO6BTag_97H   4008   //   块已经锁定,内容无法改变
#define   ERROR_ISO6BTag_98H   4009   //   块编程失败
#define   ERROR_ISO6BTag_99H   4010   //   块锁定失败
#define   ERROR_ISO6BTag_9AH   4011   //   操作未完成,被上位机终止(如关功放)
#define   ERROR_ISO6BTag_9BH   4012   //   操作因干扰等原因未能完成
#define   ERROR_ISO6BTag_9CH   4013   //   CRC错误

/////////////////////////////////////////////////////////////////////////////
// CXCRF500APIApp
// See XCRF500API.cpp for the implementation of this class
//

/*
class CXCRF500APIApp : public CWinApp
{
public:
	CXCRF500APIApp();

// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CXCRF500APIApp)
	public:
	virtual BOOL InitInstance();
	//}}AFX_VIRTUAL

	//{{AFX_MSG(CXCRF500APIApp)
		// NOTE - the ClassWizard will add and remove member functions here.
		//    DO NOT EDIT what you see in these blocks of generated code !
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()


};
*/

#define DllExport _declspec(dllexport)

typedef void *HANDLE;
typedef const char *LPCTSTR;

/*************************************************************
功能:	Open函数用来打开串口或创建网络连接。

参数:  hCom:保存打开的端口句柄;
	    lsCfgFile:设备配置参数文件(SYSIT.CFG)
	    CfgItemName:设备配置参数文件(SYSIT.CFG)中读写器网络端口设置项目的名称,
	    默认设置为XC600A SCANER。

返回值:打开端口失败返回0
        端口打开成功返回1
		配置文件未找到或读取失败返回2
		端口已经打开返回3  

***********************************************************************/
extern "C" DllExport int __stdcall XCOpen(HANDLE &hCom,LPCTSTR lsCfgFile,LPCTSTR lsCfgItem);

/*******************************************************/
// 功能:数用来断开网络连接,释放句柄
// 入口参数:无
// 返回:关闭端口失败返回0,成功返回1。端口已经关闭返回3*/
//     
//             
//                
//        yang xian feng 2004-7-5 
/*******************************************************/

extern "C" DllExport int __stdcall XCClose(HANDLE &hCom);
/*******************************************************/
// 功能:XCReset函数用来对读写器进行复位操作,重新初始化读写器控制程序。
// 入口参数:hCom:通讯端口句柄(串口/网口);
//	返回参数:0: 失败
//            其它:成功			
//     
//             
//                
//        yang xian feng 2004-7-5 
/*******************************************************/
						
extern "C" DllExport  int __stdcall XCReset(HANDLE hCom);
/*******************************************************/
//	功能:    XCIdentify函数用来向读写器发送扫描覆盖范围内的所有电子标签的指令。
//	入口参数:hCom:    通讯端口句柄(串口/网口);
//	          uTagType:指定卡的类型(1 ~ n);
//            ucAntenna:天线号
//            ucScanTimes:扫描次数
//	返回:    指令发送失败返回0
//            指令发送成功返回非零
              	
//                
//        yang xian feng 2004-8-27 
/*******************************************************/

extern "C" DllExport int __stdcall XCIdentify (HANDLE hCom,unsigned char uTagType,\
											  unsigned char ucAntenna,\
											  unsigned char ucAffirm\
											  );
/*******************************************************/
//	功能:    XCReport函数用来接收读写器识别到的标签ID编号。。
//	入口参数:hCom:通讯端口句柄(串口/网口);
//            pdata:指向返回ID号的指针;
//	         
//	返回:    指令发送失败返回0
//            
//            -1:    读标签ID失败            	
//            其他: 成功  
//        yang xian feng 2004-7-5 
/*******************************************************/

extern "C" DllExport int __stdcall XCReport (HANDLE hCom, unsigned char *pData );

/**************************************************************
功能:向读写器发出读标签用户区数据指令。
原形:unsigned char __stdcall XCReadUserData (HANDLE hCom, 
									unsigned char ucTagType,
									unsigned char ucStartAdd, 
									unsigned char ucUserDataSize,  
									unsigned char *pTagID,
									unsigned char *pValue);
  参数: hCom:          调用XCOpen成功后获得的通道端口句柄。;
          ucTagType:     指定卡的类型(1 ~ n);
        ucStartAdd:     用户数据起始地址;(8-223)
          ucUserDataSize:指定读数据的长度==8;
          pTagID:        标签ID号;
        pValue:        返回读到数据的指针(用户数据)==8
返回值:
        0:接收数据错
1:成功     			
3:读标签ID失败
2:其他错   

*********************************************************************/
extern "C" DllExport  int __stdcall  XCReadUserData (HANDLE hCom, 
									unsigned char ucTagType,
									unsigned char ucStartAdd, 
									unsigned char ucUserDataSize,  
									unsigned char *pTagID,
									unsigned char *pValue);
/*******************************************************/
//	功能:    XCWriteUserData函数用来向指定标签内存单元写入数据。
//	          
//	hCom:通讯端口句柄(串口/网口);
//  ucTagType:指定卡的类型(1 ~ n);
//  ucStartAdd:写入起始地址.
//  pTagID:标签ID号;
//  pValue: 写入的n个字节数据;
//	返回: 0:接收数据错
//         1:写标签数据成功  			
//         3:写标签ID失败
//         2:其他错    			
              	
//           
//        yang xian feng 2004-8-23 
/*******************************************************/
extern "C" DllExport  int __stdcall XCWriteUserData (HANDLE hCom, 
									unsigned char ucTagType, 
									unsigned char ucStartAdd, 
									unsigned char *pTagID,
									unsigned char *pValue,
									unsigned char ucLength=1);
/*******************************************************/
//	功能:    XCPowerOn函数用来向读写器发送"打开功放"指令,测试线路通讯状态和检测天线是否连接。
//	          
//	入口参数:hCom:通讯端口句柄(串口/网口)
//				
              	
//  返回:    指令发送失败返回0,指令发送成功返回1,  
//  目前缺陷:当返回0x3A时没有 得到/第n号天线没有连接       
//        yang xian feng 2004-7-5 
/*******************************************************/
extern "C" DllExport int __stdcall XCPowerOn(HANDLE hCom);

/*******************************************************/
//	功能:    XCPowerOff函数用来停止读写器扫描标签工作。
//	入口参数:hCom:通讯端口句柄(串口/网口)
             	
//  返回:   接收数据错0,指令发送成功返回1,其他错返回2	*/
              	  
//        yang xian feng 2004-7-5 
/*******************************************************/

extern "C" DllExport int __stdcall XCPowerOff (HANDLE hCom);
/*******************************************************/
//	功能:   查询设备参数
//	入口参数:hCom:通讯端口句柄(串口/网口)
//            iInfoType:信息类型
/*  信息类型:0x00	IP地址 		12字节
			  0x01	跳频		30字节
			  0x02	天线数		1字节
			  0x03	测试模式	1字节 配置信息为0时是
			  0x04	MAC地址	6字节
*/

//            size :   得到数据个数 最大32个字节
// 	          pData:   得到数据
//  返回:    0:失败
//            1:指令发送成功
              	  
//        yang xian feng 2004-8-25 
/*******************************************************/
              	
extern "C" DllExport  int __stdcall XCSysQuery (HANDLE hCom, int iInfoType, unsigned char size, unsigned char * pData);

//跳频管理查询  //jpw20061124
extern "C" DllExport int __stdcall XCFreqQuery ( HANDLE hCom, int iInfoType, unsigned char size, unsigned char * pData );

/*******************************************************/
//	功能:   设备参数设定
//	入口参数:hCom:通讯端口句柄(串口/网口)
//            sys_addr:起始地址
//            size :   数据个数
// 	          Param;    设置参数
//  返回:    失败,返回0
//            成功,返回1	
              	  
//        yang xian feng 2004-7-5 
/*******************************************************/

extern "C" DllExport int __stdcall XCSysSet (HANDLE hCom,int sys_addr, int size, unsigned char * Param);
/*******************************************************/
//	功能:   设备参数快速设定
//	入口参数:hCom:通讯端口句柄(串口/网口)
//            iInfoType:信息类型
//            size :   得到数据个数
// 	          Param;    设置参数
//  返回:    失败,返回0
//            成功,返回1	
              	  
//        yang xian feng 2004-8-25 
/*******************************************************/

extern "C" DllExport int __stdcall XCSysFastSet (HANDLE hCom,int iInfoType, int size, unsigned char * Param);
/*******************************************************/
//	功能:   设备IP地址设定
//	入口参数:hCom:通讯端口句柄(串口/网口)
//            Pwd:  密码
//            CfgItemName: 配置文件名
// 	          IP_Addr;      网络地址
//            NetMark:     子网研码
//            Gateway:     网关
//  返回:    返回参数:
//            0-表示设定失败;
//            1-表示设定成功;

              	  
//        yang xian feng 2004-8-25 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -