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

📄 exportfunc.h

📁 射频卡读卡芯片rc500的芯片介绍
💻 H
📖 第 1 页 / 共 2 页
字号:
#ifndef _EXPORT_FUNC_H_
#define _EXPORT_FUNC_H_

//return successful result
#define  LIB_SUCCESS      0  
//return failed result
#define  LIB_FAILED       1

#define MAX_RF_BUFFER     1024

/******** 功能:获取动态库版本号 2字节 *******************/
//  返回: 成功返回0
/*********************************************************/
int (WINAPI* lib_ver)(unsigned int *nVer);


/*****************DES 算法加密函数 ***********************/
//user     : 
//         DES 算法加密函数
//Parameter: 
//         szOut:输出的DES值,长度等于明文长度
//         szIn: 明文
//         inlen:明文长度,8字节的整数倍
//         key:密文
//         keylen: 密文长度,如果大于8字节,是3des,如果小于等于8字节单des.不足补零
//return value: 
//         Success: LIB_SUCCESS ;
//         Failed : LIB_FAILED
/*********************************************************/
int (WINAPI* des_encrypt)(unsigned char *szOut,unsigned char *szIn , unsigned int inlen,unsigned char *key,unsigned int keylen);


/******** 说明:DES 解密算法函数 *************************/
//user     : 
//         DES 算法解密函数
//Parameter: 
//         szOut:输出的DES值,长度等于明文长度
//         szIn: 明文
//         inlen:明文长度,8字节的整数倍
//         key:密文
//         keylen: 密文长度,如果大于8字节,是3des,如果小于等于8字节单des.不足补零
//return value: 
//         Success: LIB_SUCCESS ;
//         Failed : LIB_FAILED
/*********************************************************/
int (WINAPI* des_decrypt)(unsigned char *szOut,unsigned char *szIn , unsigned int inlen,unsigned char *key,unsigned int keylen);


/******** 功能:初始化串口 *******************************/
//  参数:port:串口号,取值为1~4
//        baud:为通讯波特率4800~115200
//  返回:成功则返回0
/*********************************************************/
int (WINAPI* rf_init_com)(int port,long baud);


/******** 功能:指定设备标识 *****************************/
//  参数:icdev:通讯设备标识符,0-65536
//  返回:成功返回0
/*********************************************************/
int (WINAPI* rf_init_device_number)(unsigned short icdev);


/******** 功能:读取设备标识 *****************************/
//  参数:Icdev:通讯设备标识符
//  返回:成功返回0
/*********************************************************/
int (WINAPI* rf_get_device_number)(unsigned short *Icdev);


/******** 功能:取得读写卡器硬件版本号,2 字节 ***********/
//  参数:icdev:  通讯设备标识符
//        Version:存放返回版本信息
//  返回:成功则返回0
/*********************************************************/
int (WINAPI* rf_get_model)(unsigned short icdev,unsigned short *Version);


/******** 功能:取得读写卡器产品序列号,8 字节 ***********/
//  参数:icdev:通讯设备标识符
//        Snr:  存放返回读写卡器产品序列号
//  返回:成功则返回0
/*********************************************************/
int (WINAPI* rf_get_snr)(unsigned short icdev,unsigned char *Snr);


/******** 功能:蜂鸣 *************************************/
//  参数:icdev:通讯设备标识符
//        msec: 蜂鸣时限,单位是10 毫秒
//  返回:成功则返回0
/*********************************************************/
int (WINAPI* rf_beep)(unsigned short icdev,unsigned char msec);


/******** 功能:设置读写卡器sam 卡通讯波特率 *************/
//  参数:icdev:通讯设备标识符
//        bound: sam 卡波特率,取值为9600、38400
//  返回:成功则返回0
//  说明:bound=0:9600
//        bound=1:38400
/*********************************************************/
int (WINAPI* rf_init_sam)(unsigned short icdev,unsigned char bound);


/******* 功能:复位sam 卡 ********************************/
//  参数:icdev: 通讯设备标识符
//        pData:返回的复位信息内容
//        pMsgLg:返回复位信息的长度
//  返回:成功则返回0
//  说明:
/*********************************************************/
int (WINAPI* rf_sam_rst)(unsigned short icdev, unsigned char *pData,unsigned char *pMsgLg);
/*例:
     unsigned int icdev;
     unsigned char pData[MAX_RF_BUFFER];
     unsigned char len;
     status = rf_sam_rst(icdev,pData,&len);
     
*/


/******** 功能:向SAM 卡发送COS 命令 *********************/
//  参数:icdev:  通讯设备标识符
//        command:cos 命令
//        cmdLen:  cos 命令长度
//        pDate: 卡片返回的数据,含SW1、SW2
//        pMsgLg: 返回数据长度
//  返回:成功则返回0
//  说明:
/*********************************************************/
int (WINAPI* rf_sam_cos)(unsigned short icdev, unsigned char *command,unsigned char cmdLen ,unsigned char *pData,unsigned char* Length);
/*例:
     unsigned char icdev;
     unsigned char* cmd;
     unsigned char pData[MAX_RF_BUFFER];
     unsigned char len;
     status = rf_sam_cos(icdev,cmd,sizeof(cmd),pData,&len);
     
*/


/*******  功能:设置读写卡器非接触工作方式为 *************/ 
//              ISO14443 TYPE A OR ISO14443 TYPE B
//  参数:icdev:通讯设备标识符
//        type:  读写卡器工作方式
//  返回:成功则返回0
//  说明:type='A':设置为TYPE_A方式
//        type='B':设置为TYPE_B方式
/*********************************************************/
int (WINAPI* rf_init_type)(unsigned short icdev,unsigned char type);


/*******  功能:关闭或启动读写卡器天线发射 ***************/
//  参数:icdev:通讯设备标识符
//        model:天线状态
//  返回:成功则返回0
//  说明:model=0:关闭天线
//        model=1:开启天线
/*********************************************************/
int (WINAPI* rf_antenna_sta)(unsigned short icdev, unsigned char model);


/******** 功能:寻ISO14443-3 TYPE_A 卡 *******************/
//  参数:icdev:  通讯设备标识符
//        model:  寻卡模式
//        TagType:返回卡类型值
//  返回:成功则返回0
//  说明:mode=0x26:寻未进入休眠状态的卡
//        mode=0x52:寻所有状态的卡
/*********************************************************/
int (WINAPI* rf_request)(unsigned short icdev, unsigned char model, unsigned short *TagType);


/********* 功能:ISO14443-3 TYPE_A 卡防冲撞 **************/
//  参数:icdev:  通讯设备标识符
//        bcnt:   卡序列号字节数,取值4、7、10,Mifare 卡取值4
//        pSnr:  返回的卡序列号
//        pRLength:卡序列号长度
//  返回:成功则返回0
//  说明:
/*********************************************************/
int (WINAPI* rf_anticoll)(unsigned short icdev, unsigned char bcnt, unsigned char *pSnr,unsigned char* pRLength);
/*例:int status
      unsigned char icdev;
      unsigned char snr[MAX_RF_BUFFER];
      unsigned char len;
      status = rf_anticoll(icdev,4,snr,&len);      
*/


/******** 功能:锁定一张ISO14443-3 TYPE_A 卡 *************/
//  参数:icdev:通讯设备标识符
//        pSnr: 卡序列号
//        srcLen:卡序列号长度,MifareOne卡该值等于4
//        Size: 返回卡容量
//  返回:成功则返回0
/*********************************************************/
int (WINAPI* rf_select)(unsigned short icdev,unsigned char *pSnr,unsigned char srcLen,unsigned char *Size);


/******* 功能:命令已激活的ISO14443-3 TYPE_A卡进入休眠状态*/
//  参数:icdev:通讯设备标识符
//  返回:成功则返回0
/**********************************************************/
int (WINAPI* rf_halt)(unsigned short icdev);

/****** 功能:向读写卡器下载Mifare One 卡密钥 ******************/
//每6 个字节为1 个密钥,0~15 扇区顺序排列
//  参数:icdev:通讯设备标识符
//        Mode:密钥类型,取值‘A’OR ‘B’
//        key:密钥,96 字节
//  返回:成功则返回0
/***************************************************************/
int (WINAPI* rf_download_key)(WORD icdev, unsigned char mode, unsigned char *key);

/***** 功能:用已下载到读写卡器中的密钥验证Mifare One 卡某一扇区 ****/
//   参数:icdev:通讯设备标识符
//         mode:密码验证模式, 取值0 或1,代表‘A’OR ‘B’
//         secnr:要验证密码的扇区号(0~15)
//   返回:成功则返回0
/********************************************************************/
int (WINAPI* rf_M1_authentication1)(WORD icdev, unsigned char mode, unsigned char secnr);

/***** 功能:用指定的密钥验证Mifare One 卡*****************/
//  参数:icdev:通讯设备标识符
//        model:密码验证模式
//        block:要验证密码的绝对块号(0~63)
//        key:  密钥内容,6 字节
//  返回:成功则返回0
//  说明:model=0x60:验证A密钥
//        model=0x61:验证B密钥
/**********************************************************/
int (WINAPI* rf_M1_authentication2)(unsigned short icdev,unsigned char model,unsigned char block,unsigned char *key);


/*******  功能:读取Mifare One 卡一块数据 ****************/
//  参数:icdev: 通讯设备标识符
//        block: M1卡绝对块号(0~63)
//        pData:读出数据
//        pLen:   读出数据的长度
//  返回:成功则返回0
//  说明:
/*********************************************************/
int (WINAPI* rf_M1_read)(unsigned short icdev, unsigned char block, unsigned char *pData,unsigned char *pLen);
/*例:int status

⌨️ 快捷键说明

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