支持RFID读写模块在Wince5.0和Wince6.0系统应用
目录
简介
RFID模块选型
RFID模块Wince API-基础函数
RFID模块Wince API-ISO14443A函数
RFID模块Wince API-CPU卡函数
RFID模块Wince API-ISO14443B函数
RFID模块Wince API-ISO15693函数
友我科技高频RFID读写模块集成了原装进口的高性能射频芯片,配以多重硬件和软件保护,运行稳定可靠。公司在多年的射频开发和现场经验上,不断地完善和开发出新的RFID产品,以适应各个行业和平台的使用需求。这些RFID模块支持ISO14443-A Mifare One S50,S70,UltraLight,MifarePro,ISO14443-B SR176, ISO15693 ,I CODE SL2 和其他相关兼容卡片。针对WINCE系统,我们发布了yw20x.dll,方便工程师将友我科技的模块潜入到wince系统中。
目前,友我科技的模块和wince动态库yw20x.dll可以使用在wince5.0和wince6.0,net frame 2.0及以上的系统环境。同时,友我科技为客户提供网络tcpip的wince解决方案和动态库dll,相关需求请联系客服。
型号 |
支持卡协议 |
供电电压 |
接口 |
尺寸 |
支持卡片 |
YW-201 |
ISO14443A |
+5V |
IIC,UART(TTL) |
20*40 |
Mifare S50,S70,CPU |
YW-201C |
ISO14443A |
+5V |
IIC,UART(TTL) |
60*60 |
Mifare S50,S70,CPU |
YW-201C3 |
ISO14443A |
+3.3V |
IIC,UART(TTL) |
60*60 |
Mifare S50,S70,CPU |
YW-202 |
ISO14443A |
+5V |
IIC,UART(TTL) |
20*40 |
Mifare S50,S70,CPU,SR512 |
YW-202C |
ISO14443A |
+5V |
IIC,UART(TTL) |
60*60 |
Mifare S50,S70,CPU,SR512 |
YW-203 |
ISO15693 |
+5V |
IIC,UART(TTL) |
20*40 |
ICode,TagIT,, MB89R118B |
YW-203C |
ISO15693 |
+5V |
IIC,UART(TTL) |
60*60 |
ICode,TagIT,, MB89R118B |
YW-204 |
ISO14443A |
+5V |
IIC,UART(TTL) |
20*40 |
Mifare S50,S70,CPU,SR512, ICode,TagIT,, MB89R118B |
YW-204C |
ISO14443A |
+5V |
IIC,UART(TTL) |
60*60 |
Mifare S50,S70,CPU,SR512, ICode,TagIT,, MB89R118B |
YW-401 |
ISO14443A |
+3.3V |
IIC,UART(TTL) |
38*38 |
Mifare S50,S70,CPU |
YW-411 |
ISO14443A |
+3.3V |
UART(TTL) |
45*45 |
Mifare S50,S70 |
1.1 DES加解密函数
方法:public static extern int DES(byte cModel, byte[] pkey, byte[] pInData, byte[] pOutData);
参数列表:
参数 |
类型 |
方向 |
说明 |
cModel |
byte |
IN |
DES方式: |
pkey |
byte[] |
IN |
DES 密钥(8 bytes) |
pInData |
byte[] |
IN |
原始数据(8 bytes) |
pOutData |
byte[] |
OUT |
加密后的数据(8 bytes) |
返回值:0x01->成功,<=0 失败
1.2 3DES加解密函数
方法:public static extern int DES3(byte cModel, byte[] pKey, byte[] pInData, byte[] pOutData);
参数列表:
参数 |
类型 |
方向 |
说明 |
cModel |
byte |
IN |
DES方式: |
pkey |
byte[] |
IN |
DES密钥(16 bytes) |
pInData |
byte[] |
IN |
原始数据(8 bytes) |
pOutData |
byte[] |
OUT |
加密后的数据(8 bytes) |
返回值:0x01->成功,<=0 失败
1.3 带向量的3DES加解密函数
方法:public static extern int DES3_CBC(byte cModel, byte[] pKey,byte[] pInData, byte[] pOutData, byte[] pIV);
参数列表:
参数 |
类型 |
方向 |
说明 |
cModel |
byte |
IN |
DES方式: |
pkey |
byte[] |
IN |
DES 密钥(16 bytes) |
pInData |
byte[] |
IN |
原始数据(8 bytes) |
pOutData |
byte[] |
OUT |
加密后的数据(8 bytes) |
pIV |
byte[] |
IN |
Vector(8 bytes) |
返回值:0x01->成功,<=0 失败
1.4 打开串口
方法:public static extern int YW_ComInitial(int PortIndex, int Baud);
参数列表:
参数 |
类型 |
方向 |
说明 |
PortIndex |
int |
IN |
串口号 |
Baud |
int |
IN |
波特率 |
返回值:0x01->成功,<=0 失败
1.5 关串口
方法:public static extern int YW_ComFree()
参数列表:None
返回值:0x01->成功,<=0 失败
1.6 修改模块波特率
方法:public static extern int YW_ComNewBaud(int NewBaudIndex);
参数列表:
参数 |
类型 |
方向 |
说明 |
NewBaudIndex |
int |
IN |
0x00->9600 |
返回值:0x01->成功,<=0 失败
1.7 开关模块射频天线
方法:public static extern int YW_AntennaStatus(bool AntOpen,bool AutoRequest)
参数列表:
参数 |
类型 |
方向 |
说明 |
AntOpen |
bool |
IN |
True: 开天线 |
AutoRequest |
bool |
IN |
是否自动寻卡,wince系统请设置成false |
返回值:0x01->成功,<=0 失败
1.8 寻卡类型设置
方法:public static extern int YW_SearchCardMode(byte Mode);
参数列表:
参数 |
类型 |
方向 |
说明 |
Mode |
byte |
IN |
0x41‐类型 A(0x41) |
返回值:0x01->成功,<=0 失败
1.9 写模块内存
方法:public static extern int YW_WriteReaderMemory(int AddrBegin, int DataLen, byte[] Data)
参数列表:
参数 |
类型 |
方向 |
说明 |
AddrBegin |
int |
IN |
起始地址 |
DataLen |
int |
IN |
数据长度 |
Data |
byte[] |
IN |
数据 |
返回值:0x01->成功,<=0 失败
1.10 读模块内存
方法:public static extern int YW_ReadReaderMemory(int AddrBegin, int DataLen, byte[] DataRead);
参数列表:
参数 |
类型 |
方向 |
说明 |
AddrBegin |
int |
IN |
起始地址 |
DataLen |
int |
IN |
数据长度 |
Data |
byte[] |
OUT |
数据 |
返回值:0x01->成功,<=0 失败
1.11 模块休眠,任何指令可以激活
方法:public static extern int YW_ModuleSleep()
参数列表:None
返回值:0x01->成功,<=0 失败
1.12 获取IIC地址
方法:public static extern int YW_ GetIICAddr ();
参数列表:None
<=0 失败, >0 IIC 地址
1.13 设置IIC地址
方法:public static extern int YW_SetIICAddr(byte IICAddr);
参数列表:
参数 |
类型 |
方向 |
说明 |
IICAddr |
byte |
IN |
新的IIC地址 |
返回值:0x01->成功,<=0 失败
2.1 ISO14443A 寻卡
方法:public static extern int YW_RequestCard(byte CardMode, byte[] CardNo,byte[] OtherInfo);
参数列表:
参数 |
类型 |
方向 |
说明 |
CardMode |
byte |
IN |
0x00: 所有卡 |
CardNo |
byte[] |
OUT |
卡号. |
OtherInfo |
byte[] |
OUT |
其他信息 |
<=0 失败, else 返回值 value(>0) is the length of CardNo.
2.2 读M1卡块数据
方法:public static extern int YW_ReadaBlock(byte KeyAB,byte KeyMode,byte KeyIndx, byte[] Key, int BlockAddr, byte[] pData)
参数列表:
参数 |
类型 |
方向 |
说明 |
KeyAB |
byte |
IN |
0x00: Key A |
KeyMode |
byte |
IN |
0x00: 命令密钥 |
KeyIndx |
byte |
IN |
如果采用系统密钥 KeyIndx =0 to 31 |
Key |
byte[] |
IN |
命令密钥6 bytes. |
BlockAddr |
int |
IN |
块 |
pData |
byte[] |
OUT |
16 bytes 数据 |
返回值:0x01->成功,<=0 失败
2.3 写M1卡块数据
方法:public static extern int YW_ WriteaBlock (byte KeyAB,byte KeyMode,byte KeyIndx, byte[] Key, int BlockAddr, byte[] pData);
参数列表:
参数 |
类型 |
方向 |
说明 |
KeyAB |
byte |
IN |
0x00: Key A |
KeyMode |
byte |
IN |
0x00: 命令密钥 |
KeyIndx |
byte |
IN |
如果采用系统密钥 KeyIndx =0 to 31 |
Key |
byte[] |
IN |
命令密钥6 bytes. |
BlockAddr |
int |
IN |
块 |
pData |
byte[] |
IN |
16 bytes 数据 |
返回值:0x01->成功,<=0 失败
2.4 读M1卡扇区数据
方法:public static extern int YW_ ReadSector (byte KeyAB,byte KeyMode,byte KeyIndx, byte[] Key, int SectorAddr, byte[] pData);
参数列表:
参数 |
类型 |
方向 |
说明 |
KeyAB |
byte |
IN |
0x00: Key A |
KeyMode |
byte |
IN |
0x00: 命令密钥 |
KeyIndx |
byte |
IN |
如果采用系统密钥 KeyIndx =0 to 31 |
Key |
byte[] |
IN |
命令密钥6 bytes. |
SectorAddr |
int |
IN |
扇区号 |
pData |
byte[] |
OUT |
64 bytes 数据 |
返回值:0x01->成功,<=0 失败
2.5 M1卡初始化为钱包(值)
方法:public static extern int YW_InitiaPurse(byte KeyAB,byte KeyMode,byte KeyIndx, byte[] Key,int BlockAddr, int IniMoney);
参数列表:
参数 |
类型 |
方向 |
说明 |
KeyAB |
byte |
IN |
0x00: Key A |
KeyMode |
byte |
IN |
0x00: 命令密钥 |
KeyIndx |
byte |
IN |
如果采用系统密钥 KeyIndx =0 to 31 |
Key |
byte[] |
IN |
命令密钥6 bytes. |
BlockAddr |
int |
IN |
块号 |
IniMoney |
int |
IN |
初始值 |
返回值:0x01->成功,<=0 失败
2.6 M1卡读钱包(值)
方法:public static extern int YW_ ReadPurse (byte KeyAB,byte KeyMode,byte KeyIndx, byte[] Key,int BlockAddr, ref int Money);
参数列表:
参数 |
类型 |
方向 |
说明 |
KeyAB |
byte |
IN |
0x00: Key A |
KeyMode |
byte |
IN |
0x00: 命令密钥 |
KeyIndx |
byte |
IN |
如果采用系统密钥 KeyIndx =0 to 31 |
Key |
byte[] |
IN |
命令密钥6 bytes. |
BlockAddr |
int |
IN |
块号 |
Money |
Ref int |
OUT |
值 |
返回值:0x01->成功,<=0 失败
2.7 M1卡充值钱包(加值)
方法:public static extern int YW_IncPurse( (byte KeyAB,byte KeyMode,byte KeyIndx, byte[] Key,int BlockAddr, int Money);
参数列表:
参数 |
类型 |
方向 |
说明 |
KeyAB |
byte |
IN |
0x00: Key A |
KeyMode |
byte |
IN |
0x00: 命令密钥 |
KeyIndx |
byte |
IN |
如果采用系统密钥 KeyIndx =0 to 31 |
Key |
byte[] |
IN |
命令密钥6 bytes. |
BlockAddr |
int |
IN |
块号 |
Money |
int |
IN |
值 |
返回值:0x01->成功,<=0 失败
2.8 M1卡消费钱包(减值)
方法:public static extern int YW_DecPurse( (byte KeyAB,byte KeyMode,byte KeyIndx, byte[] Key,int BlockAddr, int Money);
参数列表:
参数 |
类型 |
方向 |
说明 |
KeyAB |
byte |
IN |
0x00: Key A |
KeyMode |
byte |
IN |
0x00: 命令密钥 |
KeyIndx |
byte |
IN |
如果采用系统密钥 KeyIndx =0 to 31 |
Key |
byte[] |
IN |
命令密钥6 bytes. |
BlockAddr |
int |
IN |
块号 |
Money |
int |
IN |
值 |
返回值:0x01->成功,<=0 失败
2.9 备份钱包(值)
方法:public static extern int YW_BakPurse(byte KeyAB,byte KeyMode,byte KeyIndx, byte[] Key,int SrcBlockAddr, int DesBlockAddr);
参数列表:
参数 |
类型 |
方向 |
说明 |
KeyAB |
byte |
IN |
0x00: Key A |
KeyMode |
byte |
IN |
0x00: 命令密钥 |
KeyIndx |
byte |
IN |
如果采用系统密钥 KeyIndx =0 to 31 |
Key |
byte[] |
IN |
命令密钥6 bytes. |
SrcBlockAddr |
int |
IN |
原块号 |
DesBlockAddr |
int |
IN |
目的块号 |
返回值:0x01->成功,<=0 失败
2.10 卡Halt
方法:public static extern int YW_Halt_();
参数列表:None
返回值:0x01->成功,<=0 失败
2.11 下载密钥
方法:public static extern int YW_DownKey(int KeyIndex, byte[] Key);
参数列表:
参数 |
类型 |
方向 |
说明 |
KeyIndex |
byte |
IN |
0 to 31,密钥序号 |
Key |
byte[] |
IN |
6 Bytes, 系统密钥 |
返回值:0x01->成功,<=0 失败
2.12 UltraLight读数据
方法:public static extern int YW_M401UL_Read(byte Block, byte[] pData)
参数列表:
参数 |
类型 |
方向 |
说明 |
Block |
byte |
IN |
块号 |
pData |
byte[] |
OUT |
块数据 |
返回值:0x01->成功,<=0 失败
2.13 UltraLight写数据
方法:public static extern int YW_M401UL_ Write (byte Block, byte[] pData);
参数列表:
参数 |
类型 |
方向 |
说明 |
Block |
byte |
IN |
块号 |
pData |
byte[] |
IN |
块数据 |
返回值:0x01->成功,<=0 失败
RFID读写器,SDK,IC卡读卡器,开发包,二次开发,智能卡读卡器,RFID读卡器,CPU卡读写器,读卡模块 |
1 |
RFID读写器产品手册下载 |
2 |
读写器开发SDK下载 |
3 |
WEB读卡器开发指南 |
4 |
Windows读卡器开发指南 |
5 |
Android读卡器开发指南 |
6 |
Wince读卡器开发指南 |
7 |
PLC读卡器开发指南 |
8 |
Linux读卡器开发指南 |
9 |
单片机读卡器开发指南 |
10 |
PCSC读卡器开发指南 |