?? xcrf500api.h
字號:
// XCRF500API.h : main header file for the XCRF500API DLL
//
#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 // 沒有數(shù)據(jù)返回,接收數(shù)據(jù)長度不足
#define ERROR_HANDLE_VALUE -1 // 錯誤的端口句柄
#define ERROR_USERDATA_LEN -2 // 用戶數(shù)據(jù)長度錯
#define ERROR_USERDATA_ADDRESS -3 // 用戶數(shù)據(jù)地址錯
#define ERROR_RECEIVEDATA_LEN -4 // 接收數(shù)據(jù)長度不符
#define ERROR_SENDDATA_FAIL -5 // 數(shù)據(jù)格式錯誤 0X3F
#define ERROR_SENDCOMMOND_FAIL -6 // 發(fā)送命令失敗
#define ERROR_READWRITE_FAIL -7 // 讀寫數(shù)據(jù)失敗
#define ERROR_IDENTIFY_FAIL -8 // 識別標(biāo)簽ID失敗 0X3A
#define ERROR_NOKNOWTAG_FAIL -9 // 未指定有效的標(biāo)簽類型 0X3A
#define ERROR_PORT_OPENED -10 // 端口已經(jīng)打開,句柄非INVALID_HANDLE_VALUE
#define ERROR_CONFIG_LOST -11 // 配置文件未找到或讀取失敗,主要參數(shù)無法初始化
#define ERROR_CONNECT_FAIL -12 // 連接失敗
#define ERROR_OPENPORT_FAIL -13 // 建立連接失敗
#define ERROR_CLOSEPORT_FAIL -14 // 斷開連接失敗
#define ERROR_PARAMETER_LEN -15 // 查詢/設(shè)定參數(shù)數(shù)據(jù)長度超出
#define ERROR_PARAMETER_FAIL -16 // 查詢/設(shè)定參數(shù)失敗
#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 // 讀寫器系統(tǒng)參數(shù)表錯誤
#define ERROR_Reader_05H 1005 // 讀寫器FPGA自檢錯誤
#define ERROR_Reader_06H 1006 // 讀寫器射頻板自檢錯誤
#define ERROR_Reader_07H 1007 // 讀寫器以太網(wǎng)檢測錯誤
#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 // 當(dāng)前讀寫器處于測試模式
#define ERROR_Reader_14H 1013 // 讀寫器內(nèi)部flash失敗
#define ERROR_Reader_15H 1014 // 當(dāng)前讀寫器正執(zhí)行標(biāo)簽操作
#define ERROR_Reader_16H 1015 // 讀寫器運行錯誤(如某些意外導(dǎo)致操作終止)
#define ERROR_CommandData_20H 2001 // 接收指令或數(shù)據(jù)不完整
#define ERROR_CommandData_21H 2002 // 接收指令或數(shù)據(jù)的CRC校驗錯誤
#define ERROR_CommandData_22H 2003 // 指令類型當(dāng)前讀寫器型號不支持
#define ERROR_CommandData_23H 2004 // 當(dāng)前型號讀寫器不支持該標(biāo)簽協(xié)議
#define ERROR_CommandData_24H 2005 // 指令參數(shù)錯誤
#define ERROR_CommandData_25H 2006 // 指令偵數(shù)據(jù)結(jié)構(gòu)錯誤
#define ERROR_CommandData_26H 2007 // 不支持的指令類型
#define ERROR_EPCTag_60H 3001 // 標(biāo)簽無響應(yīng)或不存在
#define ERROR_EPCTag_61H 3002 // 操作存儲區(qū)不存在
#define ERROR_EPCTag_62H 3003 // 標(biāo)簽操作地址溢出
#define ERROR_EPCTag_63H 3004 // 操作存儲區(qū)被鎖定
#define ERROR_EPCTag_64H 3005 // 標(biāo)簽存取密碼錯誤
#define ERROR_EPCTag_65H 3006 // 標(biāo)簽滅活密碼錯誤
#define ERROR_EPCTag_66H 3007 // 操作未完成,被上位機終止(如關(guān)功放)
#define ERROR_EPCTag_67H 3008 // 對未初始化標(biāo)簽做讀/寫/鎖數(shù)據(jù)區(qū)操作
#define ERROR_EPCTag_68H 3009 // 未初始化標(biāo)簽
#define ERROR_EPCTag_69H 3010 // 標(biāo)簽返回未知類型錯誤
#define ERROR_ISO6BTag_90H 4001 // 標(biāo)簽無響應(yīng)或射頻范圍內(nèi)無標(biāo)簽
#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 // 塊已經(jīng)鎖定,內(nèi)容無法改變
#define ERROR_ISO6BTag_98H 4009 // 塊編程失敗
#define ERROR_ISO6BTag_99H 4010 // 塊鎖定失敗
#define ERROR_ISO6BTag_9AH 4011 // 操作未完成,被上位機終止(如關(guān)功放)
#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)
/*************************************************************
功能: Open函數(shù)用來打開串口或創(chuàng)建網(wǎng)絡(luò)連接。
參數(shù): hCom:保存打開的端口句柄;
lsCfgFile:設(shè)備配置參數(shù)文件(SYSIT.CFG)
CfgItemName:設(shè)備配置參數(shù)文件(SYSIT.CFG)中讀寫器網(wǎng)絡(luò)端口設(shè)置項目的名稱,
默認設(shè)置為XC600A SCANER。
返回值:打開端口失敗返回0
端口打開成功返回1
配置文件未找到或讀取失敗返回2
端口已經(jīng)打開返回3
***********************************************************************/
extern "C" DllExport int __stdcall XCOpen(HANDLE &hCom,LPCTSTR lsCfgFile,LPCTSTR lsCfgItem);
/*******************************************************/
// 功能:數(shù)用來斷開網(wǎng)絡(luò)連接,釋放句柄
// 入口參數(shù):無
// 返回:關(guān)閉端口失敗返回0,成功返回1。端口已經(jīng)關(guān)閉返回3*/
//
//
//
// yang xian feng 2004-7-5
/*******************************************************/
extern "C" DllExport int __stdcall XCClose(HANDLE &hCom);
/*******************************************************/
// 功能:XCReset函數(shù)用來對讀寫器進行復(fù)位操作,重新初始化讀寫器控制程序。
// 入口參數(shù):hCom:通訊端口句柄(串口/網(wǎng)口);
// 返回參數(shù):0: 失敗
// 其它:成功
//
//
//
// yang xian feng 2004-7-5
/*******************************************************/
extern "C" DllExport int __stdcall XCReset(HANDLE hCom);
/*******************************************************/
// 功能: XCIdentify函數(shù)用來向讀寫器發(fā)送掃描覆蓋范圍內(nèi)的所有電子標(biāo)簽的指令。
// 入口參數(shù):hCom: 通訊端口句柄(串口/網(wǎng)口);
// uTagType:指定卡的類型(1 ~ n);
// ucAntenna:天線號
// ucScanTimes:掃描次數(shù)
// 返回: 指令發(fā)送失敗返回0
// 指令發(fā)送成功返回非零
//
// yang xian feng 2004-8-27
/*******************************************************/
extern "C" DllExport int __stdcall XCIdentify (HANDLE hCom,unsigned char uTagType,\
unsigned char ucAntenna,\
unsigned char ucAffirm\
);
/*******************************************************/
// 功能: XCReport函數(shù)用來接收讀寫器識別到的標(biāo)簽ID編號。。
// 入口參數(shù):hCom:通訊端口句柄(串口/網(wǎng)口);
// pdata:指向返回ID號的指針;
//
// 返回: 指令發(fā)送失敗返回0
//
// -1: 讀標(biāo)簽ID失敗
// 其他: 成功
// yang xian feng 2004-7-5
/*******************************************************/
extern "C" DllExport int __stdcall XCReport (HANDLE hCom, unsigned char *pData );
/**************************************************************
功能:向讀寫器發(fā)出讀標(biāo)簽用戶區(qū)數(shù)據(jù)指令。
原形:unsigned char __stdcall XCReadUserData (HANDLE hCom,
unsigned char ucTagType,
unsigned char ucStartAdd,
unsigned char ucUserDataSize,
unsigned char *pTagID,
unsigned char *pValue);
參數(shù): hCom: 調(diào)用XCOpen成功后獲得的通道端口句柄。;
ucTagType: 指定卡的類型(1 ~ n);
ucStartAdd: 用戶數(shù)據(jù)起始地址;(8-223)
ucUserDataSize:指定讀數(shù)據(jù)的長度==8;
pTagID: 標(biāo)簽ID號;
pValue: 返回讀到數(shù)據(jù)的指針(用戶數(shù)據(jù))==8
返回值:
0:接收數(shù)據(jù)錯
1:成功
3:讀標(biāo)簽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函數(shù)用來向指定標(biāo)簽內(nèi)存單元寫入數(shù)據(jù)。
//
// hCom:通訊端口句柄(串口/網(wǎng)口);
// ucTagType:指定卡的類型(1 ~ n);
// ucStartAdd:寫入起始地址.
// pTagID:標(biāo)簽ID號;
// pValue: 寫入的n個字節(jié)數(shù)據(jù);
// 返回: 0:接收數(shù)據(jù)錯
// 1:寫標(biāo)簽數(shù)據(jù)成功
// 3:寫標(biāo)簽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函數(shù)用來向讀寫器發(fā)送"打開功放"指令,測試線路通訊狀態(tài)和檢測天線是否連接。
//
// 入口參數(shù):hCom:通訊端口句柄(串口/網(wǎng)口)
//
// 返回: 指令發(fā)送失敗返回0,指令發(fā)送成功返回1,
// 目前缺陷:當(dāng)返回0x3A時沒有 得到/第n號天線沒有連接
// yang xian feng 2004-7-5
/*******************************************************/
extern "C" DllExport int __stdcall XCPowerOn(HANDLE hCom);
/*******************************************************/
// 功能: XCPowerOff函數(shù)用來停止讀寫器掃描標(biāo)簽工作。
// 入口參數(shù):hCom:通訊端口句柄(串口/網(wǎng)口)
// 返回: 接收數(shù)據(jù)錯0,指令發(fā)送成功返回1,其他錯返回2 */
// yang xian feng 2004-7-5
/*******************************************************/
extern "C" DllExport int __stdcall XCPowerOff (HANDLE hCom);
/*******************************************************/
// 功能: 查詢設(shè)備參數(shù)
// 入口參數(shù):hCom:通訊端口句柄(串口/網(wǎng)口)
// iInfoType:信息類型
/* 信息類型:0x00 IP地址 12字節(jié)
0x01 跳頻 30字節(jié)
0x02 天線數(shù) 1字節(jié)
0x03 測試模式 1字節(jié) 配置信息為0時是
0x04 MAC地址 6字節(jié)
*/
// size : 得到數(shù)據(jù)個數(shù) 最大32個字節(jié)
// pData: 得到數(shù)據(jù)
// 返回: 0:失敗
// 1:指令發(fā)送成功
// 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 );
/*******************************************************/
// 功能: 設(shè)備參數(shù)設(shè)定
// 入口參數(shù):hCom:通訊端口句柄(串口/網(wǎng)口)
// sys_addr:起始地址
// size : 數(shù)據(jù)個數(shù)
// Param; 設(shè)置參數(shù)
// 返回: 失敗,返回0
// 成功,返回1
// yang xian feng 2004-7-5
/*******************************************************/
extern "C" DllExport int __stdcall XCSysSet (HANDLE hCom,int sys_addr, int size, unsigned char * Param);
/*******************************************************/
// 功能: 設(shè)備參數(shù)快速設(shè)定
// 入口參數(shù):hCom:通訊端口句柄(串口/網(wǎng)口)
// iInfoType:信息類型
// size : 得到數(shù)據(jù)個數(shù)
// Param; 設(shè)置參數(shù)
// 返回: 失敗,返回0
// 成功,返回1
// yang xian feng 2004-8-25
/*******************************************************/
extern "C" DllExport int __stdcall XCSysFastSet (HANDLE hCom,int iInfoType, int size, unsigned char * Param);
/*******************************************************/
// 功能: 設(shè)備IP地址設(shè)定
// 入口參數(shù):hCom:通訊端口句柄(串口/網(wǎng)口)
// Pwd: 密碼
// CfgItemName: 配置文件名
// IP_Addr; 網(wǎng)絡(luò)地址
// NetMark: 子網(wǎng)研碼
// Gateway: 網(wǎng)關(guān)
// 返回: 返回參數(shù):
// 0-表示設(shè)定失敗;
// 1-表示設(shè)定成功;
// yang xian feng 2004-8-25
/*******************************************************/
//jpw0912
extern "C" DllExport int __stdcall XCMACSet ( HANDLE hCom
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -