📄 mifare_i.h
字号:
/*******************************************************************************************
* *
* Mifare *
* *
* Copy Right 2001-2002,LandStanding Co.,Ltd.NewLand Group. All Right Reserved. *
* *
* *
*******************************************************************************************/
/*******************************************************************************************
*
* FILE:
* F:\MIFARE\Mifare\Mifare_i.h
* Logs:
* 2003/11/27 Created by cx.
*
********************************************************************************************/
#ifndef __Mifare_i_H
#define __Mifare_i_H
/*********************************************************************************************
* include files
*********************************************************************************************/
/*********************************************************************************************
* global referenced macro defines & type defines
*********************************************************************************************/
#define CARTYPE_M1 0x00000004
#define CARTYPE_M10 0x00000010
#define READERCODE_M1 0x00001011
/*********************************************************************************************
* global referenced variables
*********************************************************************************************/
/*********************************************************************************************
* global function prototype
*********************************************************************************************/
//初始化识读设备
//int nPort: COM口,如果在041上应设为COM2
//int nBaudRate:用来接收从识读设备传来数据波特率,可设为9600
//int nTimeout:延时,以毫秒记,一般可设为1000-2000
BOOL Mifare_Initialization(int nPort, int nBaudRate, int nTimeout);
//关闭由Mifare_Initialization打开的COM设备
BOOL Mifare_UnInitialization();
//获取卡的序列号
//int *serialno:用来存放卡的序列号的int型指针
BOOL Mifare_GetSerialNumber(int *serialno);
//获取卡的类型
//int *cardtype:用来存放卡的类型的int型指针,返回的int值可以与CARTYPE_M1、CARTYPE_M10宏比较
BOOL Mifare_GetCardType(int *cardtype);
//Request command code:B5
BOOL Mifare_Request(int mode);
//getreadercode command code:A1
BOOL Mifare_GetReaderCode(int *readercode);
//authentication command code:B8
//int mode:0-Key A, 1-Key B
//int sector:卡存储区段,0-15
//int block:卡存储区段中的块号,0-3
BOOL Mifare_Authentication(int mode, int sector, int block);
//select command code:B7
//int serialno:卡的序列号,可由Mifare_GetSerialNumber()获取
BOOL Mifare_Select(int serialno);
//halt command code:BD
BOOL Mifare_Halt();
//对指定区段传递密码
//int sector:卡存储区段,0-15
//char* szkey:密码,共6位
BOOL Mifare_Transkey(int sector, char* szkey);
//读取指定块的数据
//int sector:卡存储区段,0-15
//int blockn0:卡存储区段中的块号,0-3
//int mode:0-Key A, 1-Key B
//char *szdata:用来存放数据的字符数组,空间必须大于16个字符
//int serialno:卡的序列号,可由Mifare_GetSerialNumber()获取
BOOL Mifare_ReadBlock(int sector, int blockno, int mode, /*out*/char* szdata, int serialno);
//将数据写入指定块
//int sector:卡存储区段,0-15
//int blockn0:卡存储区段中的块号,0-3
//int mode:0-Key A, 1-Key B
//char *szdata:用来存放数据的字符数组,空间必须大于16个字符
//int serialno:卡的序列号,可由Mifare_GetSerialNumber()获取
BOOL Mifare_WriteBlock(int sector, int blockno, int mode, /*in*/const char* szdata, int serialno);
/*
问题:
1、Get reader code(A1h)不能实现,将数据往下发时,不应答第二次握手字符67H.
使用流程:
1、读写数据使用流程
Mifare_Initialization
Mifare_GetSerialNumber
Mifare_Transkey
Mifare_ReadBlock/Mifare_WriteBlock
Mifare_UnInitialization
*/
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -