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

📄 xcrfapi.h

📁 深圳远望谷804读写器DEMO 深圳远望谷804读写器DEMO
💻 H
📖 第 1 页 / 共 4 页
字号:
// XCRFAPI.h : main header file for the XCRFAPI DLL
//

#if !defined(AFX_XCRFAPI_H__1C2DB340_4DD9_4F55_B382_FAB3F77F3E1A__INCLUDED_)
#define AFX_XCRFAPI_H__1C2DB340_4DD9_4F55_B382_FAB3F77F3E1A__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错误

/////////////////////////////////////////////////////////////////////////////
// CXCRFAPIApp
// See XCRFAPI.cpp for the implementation of this class
//

class CXCRFAPIApp : public CWinApp
{
public:
	CXCRFAPIApp();

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

	//{{AFX_MSG(CXCRFAPIApp)
		// 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)



/*************************************************************
功能:	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:    通讯端口句柄(串口/网口);
//            ucAntenna:天线号
//            ucAffirm:读取方式(0x00:单次,0x01:连续)
//	返回:    指令发送失败返回0
//            指令发送成功返回非零
              	
//                
//        yang xian feng 2004-8-27 
/*******************************************************/

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

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

/*******************************************************/
//	功能:    XCDirectRead函数用来直接读取扫描覆盖范围内的所有电子标签的指令。
//	入口参数:hCom:    通讯端口句柄(串口/网口);
//            ucAntenna:天线号
//            ucAffirm:读取方式
//	返回:    句柄无效返回	ERROR_HANDLE_VALUE
//			  指令发送失败,数据错返回0
//            指令发送成功返回非零
              	
//                
//        jiang pei wang 2007-5-12 
/*******************************************************/

extern "C" DllExport int __stdcall XCDirectRead (HANDLE hCom, unsigned char ucAntenna,\
											  unsigned char ucAffirm);
/*******************************************************/
//	功能:    XCDirectReport函数用来接收读写器直接读取到到的所有标签ID编号。。
//	入口参数:hCom:通讯端口句柄(串口/网口);
//            pdata:指向返回ID号的指针;
//	         
//	返回:    
//            1: 成功  
//            其他: 失败            	
//            
//        jiang pei wang 2007-5-12 
/*******************************************************/

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

/*******************************************************/
//	功能:    XCReadUserData函数用来读出指定标签内存单元数据。
//	          
//	入口参数:hCom:          通讯端口句柄(串口/网口);
//            ucAntenna:     天线端口号;
//	          ucStartAdd:     用户数据起始地址;(8-223)
//            ucUserDataSize:读取长度
//            pTagID:        标签ID号;
//	          pValue:        返回读到数据的指针(用户数据)
//	返回:    0://接收数据错
//            1:成功     			
//            3:读标签ID失败
//            2:其他错    	
//               
//        yang xian feng 2004-8-23  
//修改记录    提出返回值正返判定xcIsError
//			  同时代码格式调整	
//  返回值:	  1:	成功
//            < 0:	xcrf-800以前的错误;
//			  >	16 并且 < 48: xcrf-800及以后产品的错误
//			  47:	为不知名的,尚未定义的错误
//修改人	  junline 2006-3-15
/*******************************************************/
extern "C" DllExport  int __stdcall  XCReadUserData ( HANDLE hCom 
													, unsigned char ucAntenna
													, unsigned char ucStartAdd
													, unsigned char ucUserDataSize
													, unsigned char *pTagID
													, unsigned char *pValue);

/**************************************************************
功能:XCReadUserDataOnce函数用来读出指定标签内存单元数据。(<64字节)
原形:unsigned char __stdcall XCReadUserDataOnce (HANDLE hCom, 
									unsigned char ucAntenna,
									unsigned char ucStartAdd, 
									unsigned char ucUserDataSize,  
									unsigned char *pTagID,
									unsigned char *pValue);
  参数: hCom:           调用XCOpen成功后获得的通道端口句柄。;
         ucAntenna:      天线端口号;
         ucStartAdd:     用户数据起始地址;(8-223)
         ucUserDataSize: 指定读数据的长度;
         pTagID:         标签ID号;
         pValue:         返回读到数据的指针(用户数据)
返回值:
        0:接收数据错
		1:成功     			
		3:读标签ID失败
		2:其他错   

*********************************************************************/
extern "C" DllExport  int __stdcall  XCReadUserDataOnce (HANDLE hCom, 
									unsigned char ucAntenna,
									unsigned char ucStartAdd, 
									unsigned char ucUserDataSize,  
									unsigned char *pTagID,
									unsigned char *pValue);

/*******************************************************/
//	功能:    XCWriteUserData函数用来向指定标签内存单元写入数据。
//	          
//	hCom:通讯端口句柄(串口/网口);
//  ucAntenna:天线端口号
//  ucStartAdd:写入起始地址.
//  pTagID:标签ID号;
//  pValue: 写入的数据;
//  ucLength:写入数据长度
//	返回: 0:接收数据错
//         1:写标签数据成功  			
//         3:写标签ID失败
//         2:其他错    			
              	
//           
//        jiang pei wang 2007-10-18 
/*******************************************************/
extern "C" DllExport  int __stdcall XCWriteUserData (HANDLE hCom, 
									unsigned char ucAntenna, 
									unsigned char ucStartAdd, 
									unsigned char *pTagID,
									unsigned char *pValue,
									unsigned char ucLength);
/*******************************************************/
//	功能:    XCWriteUserDataOnce函数用来向指定标签内存单元写入数据。(<=32字节)
//	          
//	hCom:通讯端口句柄(串口/网口);
//  ucAntenna:天线端口号;
//  ucStartAdd:写入起始地址.
//  pTagID:标签ID号;
//  ucValue: 写入的数据;
//  ucLength:写入数据长度
//	返回: 0:接收数据错
//         1:写标签数据成功  			
//         3:写标签ID失败
//         2:其他错    			
              	
//           
//        jiang pei wang 2007-11-30
/*******************************************************/
extern "C" DllExport  int __stdcall XCWriteUserDataOnce (HANDLE hCom, 
									unsigned char ucAntenna, 
									unsigned char ucStartAdd, 
									unsigned char *pTagID,
									unsigned char *pValue,
									unsigned char ucLength);
/*******************************************************/
//	功能:    XCPowerOn函数用来向读写器发送"打开功放"指令,测试线路通讯状态和检测天线是否连接。
//	          
//	入口参数:hCom: 通讯端口句柄(串口/网口)
//	          ucAntenna: 天线端口号			
              	
//  返回: 0 :  失败
//         1 :  成功
//         3 :  天线没有连接 
//         2 :  其他错

//        
//        yang xian feng 2004-7-15 
/*******************************************************/

extern "C" DllExport  int __stdcall XCPowerOn(HANDLE hCom,unsigned char ucAntenna);

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

⌨️ 快捷键说明

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