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

📄 serfidpub.h

📁 这是高频RFID读写示例程序,能控制RFID读写器进行读写
💻 H
字号:
#include "stdafx.h"
//#include <windows.h>
//#include "SeRFIDpub.h"

typedef short apiStatus; // API Universal Return Value

#define STATUS_OK					0x00	//命令执行正确
// Status Error Code Definitions


#define ERR_NONE					0x00  // No errors faults encountered
#define ERR_UNDEFIND				0xFF	//没有定义的错误
#define ERR_CMD_UNDEF				0xFE	//命令未定义
#define ERR_CMD_SUB_UNDEF			0xFD	//子命令未定义
#define ERR_CMD_PARAM_INVAL			0xFC	//输入无效的参数或参数越界
#define ERR_CMD_CRC_ERR				0xFB	//读写器接收到的命令帧CRC错误
#define ERR_CMD_RES_CRC_ERR			0xFA	//主机接收到读写器的应答帧CRC错误
#define ERR_S_BUF_EMPTY				0x40	//系统缓存区没有数据
#define ERR_R_ANT_FAIL				0xEF	//天线故障或天线未连接
#define ERR_R_PLL_FAIL				0xEE	//PLL失锁
#define ERR_R_UART_FAIL				0xED	//串口连接错误或连接超时
#define ERR_R_SET_PARAM_FAIL		0xEC	//设置读写器参数失败
#define ERR_R_GET_PARAM_FAIL		0xEB	//读取读写器参数失败
#define ERR_R_WR_FLASH_FAIL			0xEA	//写或编程读写器FLASH失败
#define ERR_R_MOD_FAIL				0xE9	//设置调制度失败
#define ERR_R_RFPWR_FAIL			0xE8	//设置RF功率失败
#define ERR_R_PARAM_FAIL			0xE7	//参数错误
#define ERR_R_ENCRYPT_FAIL			0xE0	//读写器加密密码失败

#define ERR_TAG_NO_LABEL			0x8F	//没有找到标签
#define ERR_TAG_WP					0x8E	//标签已经写保护
#define ERR_TAG_CRC_ERR				0x8D	//标签数据CRC错
#define ERR_TAG_PROG_ID_FAIL		0x8C	//编程标签ID失败
#define ERR_TAG_READ_FAIL			0x8B	//读标签失败
#define ERR_TAG_ERASE_ID_FAIL		0x8A	//擦除标签失败
#define ERR_TAG_LOCK_ID_FAIL		0x89	//锁定标签失败
#define ERR_TAG_KILL_ID_FAIL		0x88	//销毁标签失败

#define ERR_PARAMETER_FAIL			0x87	//参数错误
#define ERR_RS232_ERROR				0x7F	// Failed to port initialize
#define ERR_RS232_READ				0x7E	// Failed to port receive
#define ERR_RS232_WRITE				0x7D	// Failed to port send
#define ERR_CRC_ERROR				0x7C	// CRC Check is error!

 unsigned short WINAPI SeRFIDpub_DataCRC(IN unsigned char* bytearray,IN int arraylength);

 apiStatus WINAPI SeRFIDpub_Open(OUT HANDLE &hCom, IN char *com_port);
 apiStatus WINAPI SeRFIDpub_Close(IN HANDLE hCom,unsigned char RAddr);
 apiStatus WINAPI SeRFIDpub_SetBaudRate(HANDLE &hCom, DWORD BaudRate);
 apiStatus WINAPI SeRFIDpub_SysSetBaudRate(HANDLE hCom, unsigned char RAddr, unsigned char BaudRateIndex);

//*********************************************************************
 void WINAPI SeRFIDpub_GetDLLRevision(int* MainVersion,int* MinorVersion);
//***********3.3 Buffer操作命令**************
 apiStatus WINAPI SeRFIDpub_BufFormatEX(HANDLE hCom,unsigned char RAddr);
 apiStatus WINAPI SeRFIDpub_BufCLRAll(HANDLE hCom,unsigned char RAddr);
 apiStatus WINAPI SeRFIDpub_BufGetTagNum(HANDLE hCom,unsigned char RAddr,unsigned char *TagCount);
 apiStatus WINAPI SeRFIDpub_BufGetVarTag(HANDLE hCom, unsigned char RAddr, unsigned char InTagCount, unsigned char *OutTagCount, unsigned char* TagData[]);
 apiStatus WINAPI SeRFIDpub_BufGetOneAndClear(HANDLE hCom,unsigned char RAddr,unsigned char* TagData);
 apiStatus WINAPI SeRFIDpub_BufGetOneNoClear(HANDLE hCom,unsigned char RAddr,unsigned char* TagData);
 apiStatus WINAPI SeRFIDpub_BufGetOneACK(HANDLE hCom,unsigned char RAddr);

 //***********System操作命令begin**************
apiStatus WINAPI SeRFIDpub_SysRFSet(HANDLE hCom, unsigned char RAddr, unsigned char RF);
#define	GPIO_OUTPUT_SET		0x00 
#define	GPIO_INPUT_GET		0x01
 
#define	GPIO_INPUT1			0x00
#define	GPIO_INPUT2			0x01

#define	GPIO_OUTPUT1		0x00
#define	GPIO_OUTPUT2		0x01

 apiStatus WINAPI SeRFIDpub_SysGPIO( HANDLE hCom, unsigned char RAddr, unsigned char type,  unsigned char port, unsigned char inStatus, unsigned char *outPort, unsigned char *outStatus);	//*status: 0-低电平; 1-高电平;
/*
1.	type : 0x00 = 选择输出口,  
	port : 0x00:OUT1, 	0x01:OUT2
	inStatus : 0x00:关, 0x01:开

 2. type : 0x01=选择输入口
	port: 0x00:IN1,	0x01:IN2
	inStatus :0x00;
*/	
 apiStatus WINAPI SeRFIDpub_SysRFQuery(HANDLE hCom, unsigned char RAddr, unsigned char* RF);
 apiStatus WINAPI SeRFIDpub_SysRFOff(HANDLE hCom,unsigned char RAddr);
 apiStatus WINAPI SeRFIDpub_SysRFOn(HANDLE hCom,unsigned char RAddr);
 
 apiStatus WINAPI SeRFIDpub_SysRFFrequencySet(HANDLE hCom, unsigned char RAddr, unsigned char inFrequency);
 apiStatus WINAPI SeRFIDpub_SysRFFrequencyQuery(HANDLE hCom, unsigned char RAddr, unsigned char* outFrequency, unsigned char* outFreqType);
 apiStatus WINAPI SeRFIDpub_SysRFModIndexSet(HANDLE hCom, unsigned char RAddr, unsigned char inModIndex);
 apiStatus WINAPI SeRFIDpub_SysRFModIndexQuery(HANDLE hCom, unsigned char RAddr, unsigned char* outModIndex);

 apiStatus WINAPI SeRFIDpub_SysRFAntennaQuantitySet(HANDLE hCom, unsigned char RAddr, unsigned char inAntennaQuantity);
 apiStatus WINAPI SeRFIDpub_SysRFAntennaQuantityQuery(HANDLE hCom, unsigned char RAddr, unsigned char* outAntennaQuantity);
 apiStatus WINAPI SeRFIDpub_SysRFCurrentAntennaSet(HANDLE hCom, unsigned char RAddr, unsigned char AntennaID);
 apiStatus WINAPI SeRFIDpub_SysRFCurrentAntennaQuery(HANDLE hCom, unsigned char RAddr, unsigned char* outAntennaID);
 apiStatus WINAPI SeRFIDpub_SysRFAntennaCycle(HANDLE hCom, unsigned char RAddr);
 apiStatus WINAPI SeRFIDpub_SysRFAntennaCycleEnd(HANDLE hCom, unsigned char RAddr);

 apiStatus WINAPI SeRFIDpub_SysReset(HANDLE hCom, unsigned char RAddr);
 apiStatus WINAPI SeRFIDpub_SysGetRStatus(HANDLE hCom, unsigned char RAddr);
 apiStatus WINAPI SeRFIDpub_SysGetFirmwareRevision(HANDLE hCom, unsigned char RAddr,unsigned char* MainVersion,unsigned char* MinorVersion);

 apiStatus WINAPI SeRFIDpub_SysWorkModeSet(HANDLE hCom, unsigned char RAddr, unsigned char WorkMode);
 apiStatus WINAPI SeRFIDpub_SysWorkModeQuery(HANDLE hCom, unsigned char RAddr, unsigned char* WorkMode);
 
 apiStatus WINAPI SeRFIDpub_SysTagIDDiscriminatSet(HANDLE hCom, unsigned char RAddr, unsigned char DiscriminateMode);
 apiStatus WINAPI SeRFIDpub_SysTagIDDiscriminateQuery(HANDLE hCom, unsigned char RAddr, unsigned char* DiscriminateMode); 
 apiStatus WINAPI SeRFIDpub_SysBufTypeSelSet(HANDLE hCom, unsigned char RAddr, unsigned char BufType);
 apiStatus WINAPI SeRFIDpub_SysBufTypeSelQuery(HANDLE hCom, unsigned char RAddr, unsigned char *BufType);

 apiStatus WINAPI SeRFIDpub_SysMACSet(HANDLE hCom, unsigned char RAddr, unsigned char inMAC[]);
 apiStatus WINAPI SeRFIDpub_SysMACQuery(HANDLE hCom, unsigned char RAddr, unsigned char outMAC[]);
 apiStatus WINAPI SeRFIDpub_SysMACCancel(HANDLE hCom, unsigned char RAddr);
 apiStatus WINAPI SeRFIDpub_SysUACSet(HANDLE hCom, unsigned char RAddr, unsigned char inUAC[]);
 apiStatus WINAPI SeRFIDpub_SysUACQuery(HANDLE hCom, unsigned char RAddr, unsigned char outUAC[]);
 apiStatus WINAPI SeRFIDpub_SysUACCancel(HANDLE hCom, unsigned char RAddr);
 apiStatus WINAPI SeRFIDpub_SysTagAuthorizationSet(HANDLE hCom, unsigned char RAddr);
 apiStatus WINAPI SeRFIDpub_SysTagAuthorizationQuery(HANDLE hCom, unsigned char RAddr, unsigned char* outTagAC);
 apiStatus WINAPI SeRFIDpub_SysTagAuthorizationCancel(HANDLE hCom, unsigned char RAddr);
 apiStatus WINAPI SeRFIDpub_SetReaderAddress(HANDLE hCom, unsigned char RAddr,unsigned char ReaderAddress);
 apiStatus WINAPI SeRFIDpub_GetReaderAddress(HANDLE hCom, unsigned char RAddr,unsigned char *ReaderAddress);
 //***********System操作命令end**************

 apiStatus WINAPI SeRFIDpub_GetManufactory(HANDLE hCom, unsigned char RAddr,unsigned char Manufactory[]);
 apiStatus WINAPI SeRFIDpub_GetProduceType(HANDLE hCom, unsigned char RAddr,unsigned char ProductType[]);
 apiStatus WINAPI SeRFIDpub_GetProductDate(HANDLE hCom, unsigned char RAddr,unsigned char ProductDate[]);
 apiStatus WINAPI SeRFIDpub_GetProductSN(HANDLE hCom, unsigned char RAddr,unsigned char ProductSN[]);
 

⌨️ 快捷键说明

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