<sub id="62jh5"><p id="62jh5"><li id="62jh5"></li></p></sub>
  1. <center id="62jh5"></center>

    <legend id="62jh5"></legend>
    <sub id="62jh5"></sub>
    射頻IC卡讀卡器,RFID讀寫器,讀寫模塊產(chǎn)品研發(fā)定制和銷售,軟件定制服務(wù)。我們的目標(biāo):一流的產(chǎn)品,五星級服務(wù)!對客戶的需求做出快速響應(yīng)。
    企業(yè)使用員工卡登錄計算機(jī)配置
    Windows智能卡登錄系統(tǒng)
    WEB與發(fā)卡器
    WEB瀏覽器與UHF超高頻讀卡器
    WEB讀卡器 IC卡(NFC)發(fā)卡器
    PLC讀卡器 IC卡模塊
    安卓讀卡器 UHF讀卡器
    PCSC讀卡器 智能卡登錄
    新聞搜索
     
    最新新聞
    1  如何給IC卡寫自定義
    2  如何配置刷卡登錄電腦
    3  插卡登錄拔卡鎖屏
    4  在web頁面實(shí)現(xiàn)智能
    5  關(guān)于IC卡密鑰理解和
    6  BS架構(gòu)下NFC讀寫
    7  關(guān)于IC卡密鑰理解和
    8  如何配置NFC讀卡器
    9  企業(yè)使用員工卡登錄計
    10  Java JNI調(diào)用
    熱門新聞 點(diǎn)擊
     友我科技推出新一代農(nóng) 182023
     友我科技RFID讀寫 178514
     友我科技發(fā)布PC/S 178419
     友我科技RFID產(chǎn)品 115169
     射頻IC卡和IC卡讀 77865
     射頻卡讀寫模塊選購指 61048
     友我科技PCSC雙界 51431
     ISO14443 I 26483
     射頻卡讀寫器發(fā)卡器介 23817
     接觸式IC卡接口原理 18985
    產(chǎn)品推薦
       
      2.4G主動式 RFID電子標(biāo)簽  
     
       
      2.4G主動式 RFID電子標(biāo)簽  
     
       
      UHF遠(yuǎn)距離G2電子標(biāo)簽  
     
       
      各種尺寸的電子標(biāo)簽  
     
       
      異型圓幣卡  
     
       
      高頻磁鐵RFID標(biāo)簽  
     
       
      S70射頻卡RFID  
     
       
      125K只讀ID卡異型卡  
     
       
      遠(yuǎn)距離6B電子標(biāo)簽  
     
       
      125K只讀ID卡厚卡  
     
         新 聞 中 心

    IC卡讀卡器開發(fā)指南

    雙擊自動滾屏 發(fā)布者:YOWO RFID 發(fā)布時間: 閱讀:5981

    IC卡讀卡器開發(fā)指南

    1       概述

    隨著社會的發(fā)展和科技的進(jìn)步,IC卡應(yīng)用越來越廣泛。會員卡,學(xué)生卡,社�?ǎ豢�,金融卡等已得到大量的應(yīng)用,可以說IC卡在我們身邊無處不在。IC卡的普及一方面取決于各個組織的大力推廣,另外也得力于無數(shù)程序員的辛苦工作,將IC卡讀卡器和IC卡融合到各個系統(tǒng)中。本文將著重介紹IC卡讀卡器在實(shí)際應(yīng)用中編程的流程和步驟,使得IC卡的開發(fā)簡單明了,更縮短我們的開發(fā)周期。

    2       非接觸IC卡介紹

    非接觸IC卡是IC卡中的一種,由于非接觸IC卡沒有物理磨損,壽命更長,價格更便宜,使得非接觸IC卡的使用越來越多,最具有代表性的非接觸IC卡就是M1卡及其兼容卡。下面將以M1卡為例,來介紹M1的內(nèi)部結(jié)構(gòu)。
    M1卡有1k和4k之分,內(nèi)部結(jié)構(gòu)基本差不多,以M1卡1K為例:
    該IC卡共有16個扇區(qū),每個扇區(qū)4個塊,每塊16字節(jié),所以總共有字節(jié)數(shù)16*4*16=1024個字節(jié)。
     
    第15扇區(qū)
    第63塊
    密鑰塊
    第62塊
    數(shù)據(jù)塊
    第61塊
    數(shù)據(jù)塊
    第60塊
    數(shù)據(jù)塊
     
    .
    .
    .
     
    第1扇區(qū)
    第7塊
    密鑰塊
    第6塊
    數(shù)據(jù)塊
    第5塊
    數(shù)據(jù)塊
    第4塊
    數(shù)據(jù)塊
    第0扇區(qū)
    第3塊
    密鑰塊
    第2塊
    數(shù)據(jù)塊
    第1塊
    數(shù)據(jù)塊
    第0塊
    存卡號,只讀
     
    每個扇區(qū)最后一塊用來保存密鑰,故不能當(dāng)作數(shù)據(jù)來使用。第0塊由于是只讀的,也不能用來存取數(shù)據(jù),所以此卡實(shí)際可用的內(nèi)存為(16*3-1)*16= 752字節(jié)。
     
    在讀寫某個數(shù)據(jù)塊之前,必須首先進(jìn)行密鑰認(rèn)證,如果密鑰認(rèn)證失敗,則不能讀寫,只有認(rèn)證成功,方可進(jìn)行讀寫等操作。每個扇區(qū)共用一組密鑰,所以一個扇區(qū)只要認(rèn)證成功一次,就可以讀寫此扇區(qū)中的四個數(shù)據(jù)塊。
     
    每個可用的數(shù)據(jù)塊可以初始化為整形值或者原始數(shù)據(jù)。原始數(shù)據(jù)可以當(dāng)作普通內(nèi)存使用,整形值可以當(dāng)作錢包等具有加減功能數(shù)字使用。
     

    3       IC卡讀卡器介紹

    IC卡讀卡器的種類繁多,這里以性價比較高的YW-605系列讀卡器來作介紹。
    YW-605系列讀卡器具有多種接口,外觀簡潔,美觀大方,可以讀寫市面上大部分非接觸IC卡。

    4       IC卡讀卡器API函數(shù)介紹

    YW-605系列讀卡器提供二次開發(fā)功能,用戶可以在我們的DLL的基礎(chǔ)上調(diào)用相應(yīng)的函數(shù)開發(fā)應(yīng)用程序,我們提供Delphi,C++Builder,VB,VC等的調(diào)用例程和相關(guān)函數(shù)聲明單元,或者按照讀卡器的通信協(xié)議直接開發(fā)應(yīng)用程序。
    庫函數(shù),C++語言版,其它語言見相應(yīng)的函數(shù)聲明文件。
     
    函數(shù)原形:int stdcall YW_GetDLLVersion(void);
    參數(shù)列表:無
    返 回 值:大于0為版本號,小于0為錯誤
     
    2.     DES加解密函數(shù)
    函數(shù)原形:int stdcall DES(unsigned char cModel, unsigned char *pkey, unsigned char *in, unsigned char *out);
    參數(shù)列表:
    參數(shù)
    類型
    含義
    cModel
    unsigned char
    加解密方向,0為加密,1為解密
    pkey
    unsigned char*
    加解密秘鑰,8個字節(jié)
    in
    unsigned char*
    原始數(shù)據(jù),8個字節(jié)
    out
    unsigned char*
    加解密后的數(shù)據(jù),8個字節(jié)
     
    返 回 值:無意義
     
    3.     3DES加解密函數(shù)
    函數(shù)原形:int stdcall DES3(unsigned char cModel, unsigned char *pKey, unsigned char *In, unsigned char *Out);
    參數(shù)列表:
    參數(shù)
    類型
    含義
    cModel
    unsigned char
    加解密方向,0為加密,1為解密
    pkey
    unsigned char*
    加解密秘鑰,16個字節(jié)
    in
    unsigned char*
    原始數(shù)據(jù),8個字節(jié)
    out
    unsigned char*
    加解密后的數(shù)據(jù),8個字節(jié)
     
    返 回 值:無意義
     
    函數(shù)原形:int stdcall DES3_CBC(unsigned char cModel,  unsigned char *pKey,unsigned char *In, unsigned char *Out, unsigned char *pIV);
    參數(shù)列表:
    參數(shù)
    類型
    含義
    cModel
    unsigned char
    加解密方向,0為加密,1為解密
    pkey
    unsigned char*
    加解密秘鑰,16個字節(jié)
    in
    unsigned char*
    原始數(shù)據(jù),8個字節(jié)
    out
    unsigned char*
    加解密后的數(shù)據(jù),8個字節(jié)
    pIV
    unsigned char*
    加解密向量,8個字節(jié)
    返 回 值:無意義
     
    函數(shù)原形:int stdcall YW_ComInitial(int PortIndex, int Baud);
    參數(shù)列表:
    參數(shù)
    類型
    含義
    PortIndex
    int
    串口號,1--255
    Baud
    int
    通信波特率,2400—115200,默認(rèn)為19200
    返 回 值:1成功,0失敗
     
     
    函數(shù)原形:int stdcall YW_ComFree(void);
    參數(shù)列表:無
    返 回 值:1成功,0失敗
     
    7.     USB無驅(qū)讀寫器,初始化USB
    函數(shù)原形:int stdcall YW_USBHIDInitial(void);
    參數(shù)列表:無
    返 回 值:1成功,0失敗
     
    8.     USB無驅(qū)讀寫器,釋放USB
    函數(shù)原形:int stdcall YW_USBHIDFree(void);
    參數(shù)列表:無
    返 回 值:1成功,0失敗
     
    函數(shù)原形:int stdcall YW_ComNewBound(int ReaderID ,int NewBound);
    參數(shù)列表:
    參數(shù)
    類型
    含義
    ReaderID
    int
    所要獲取的設(shè)備標(biāo)示ID,范圍0x0000-0xFFFF,如果未知,則ReaderID=0
    NewBound
    int
    新的波特率
    0x01->9600bps
    0x02->14400bps
    0x03->19200bps
    0x04->28800bps
    0x05->38400bps
    0x06->57600bps
    0x07->115200bps
    返 回 值:1成功,0失敗
     
     
    函數(shù)原形:int stdcall YW_SetReaderID(int OldID, int NewID);
    參數(shù)列表:
    參數(shù)
    類型
    含義
    OldID
    int
    老的設(shè)備標(biāo)示ID,范圍0x0000-0xFFFF
    NewID
    int
    修改成新的設(shè)備標(biāo)示ID,范圍0x0000-0xFFFF
    返 回 值:1成功,0失敗
     
    函數(shù)原形:int stdcall YW_GetReaderID(int ReaderID);
    參數(shù)列表:
    參數(shù)
    類型
    含義
    ReaderID
    int
    所要獲取的設(shè)備標(biāo)示ID,范圍0x0000-0xFFFF,如果未知,則ReaderID=0
    返 回 值:>=0成功,并且為所獲取的設(shè)備標(biāo)示,<0失敗
     
    函數(shù)原形:int stdcall YW_GetReaderVersion(int ReaderID);
    參數(shù)列表:
    參數(shù)
    類型
    含義
    ReaderID
    int
    所要獲取的設(shè)備標(biāo)示ID,范圍0x0000-0xFFFF,如果未知,則ReaderID=0
    返 回 值:大于0為版本號,小于0為錯誤
     
    函數(shù)原形:int stdcall YW_GetReaderSerial(int ReaderID, char *ReaderSerial);
    參數(shù)列表:
    參數(shù)
    類型
    含義
    ReaderID
    int
    所要獲取的設(shè)備標(biāo)示ID,范圍0x0000-0xFFFF,如果未知,則ReaderID=0
    ReaderSerial
    Char *
    讀取的產(chǎn)品序列號,長度為8個字節(jié)
    返 回 值:大于0為成功,小于0為失敗
     
    函數(shù)原形:int stdcall YW_Buzzer(int ReaderID,int Time_ON, int Time_OFF, int Cycle);
    參數(shù)列表:
    參數(shù)
    類型
    含義
    ReaderID
    int
    所要獲取的設(shè)備標(biāo)示ID,范圍0x0000-0xFFFF,如果未知,則ReaderID=0
    Time_ON
    int
    蜂鳴器鳴叫時間,單位:秒
    Time_OFF
    int
    蜂鳴器靜音時間,單位:秒
    Cycle
    int
    把Time_ON和Time_OFF作為一個周期,則此參數(shù)為執(zhí)行此周期的次數(shù)。
    返 回 值:大于0為命令發(fā)送成功,小于0為命令發(fā)送失敗
     
    15. LED指示燈控制
    函數(shù)原形:int stdcall YW_Led(int ReaderID,int LEDIndex, int Time_ON, int Time_OFF, int Cycle, int LedIndexOn);
    參數(shù)列表:
    參數(shù)
    類型
    含義
    ReaderID
    int
    所要獲取的設(shè)備標(biāo)示ID,范圍0x0000-0xFFFF,如果未知,則ReaderID=0
    LEDIndex
    int
    LED燈序號
    01:紅燈
    02:綠燈
    04:黃燈
    Time_ON
    int
    LED燈亮?xí)r間,單位:秒
    Time_OFF
    int
    LED燈滅時間,單位:秒
    Cycle
    int
    把Time_ON和Time_OFF作為一個周期,則此參數(shù)為執(zhí)行此周期的次數(shù)。
    LedIndexOn
    int
    最后要亮的燈:
    00:全滅
    01:紅燈
    02:綠燈
    04:黃燈
    返 回 值:大于0為命令發(fā)送成功,小于0為命令發(fā)送失敗
     
     
    函數(shù)原形:int stdcall YW_LEDDisplay(int ReaderID,int Alignment,char *LEDText);
    參數(shù)列表:
    參數(shù)
    類型
    含義
    ReaderID
    int
    所要獲取的設(shè)備標(biāo)示ID,范圍0x0000-0xFFFF,如果未知,則ReaderID=0
    Alignment
    int
    顯示時的對齊方式:
    1:左對齊
    2:居中對齊
    3:右對齊
    LEDText
    Char *
    要顯示的字符串。
    可顯示的字符如下:
    0123456789AbCdEF.-
    返 回 值:大于0為命令發(fā)送成功,小于0為命令發(fā)送失敗
     
     
    函數(shù)原形:int stdcall YW_AntennaStatus(int ReaderID,bool Status);
    參數(shù)列表:
    參數(shù)
    類型
    含義
    ReaderID
    int
    所要獲取的設(shè)備標(biāo)示ID,范圍0x0000-0xFFFF,如果未知,則ReaderID=0
    Status
    bool
    True: 開天線
    False:關(guān)天線
    返 回 值:大于0為命令發(fā)送成功,小于0為命令發(fā)送失敗
     
     
    函數(shù)原形:int stdcall YW_SearchCardMode(int ReaderID,int SearchMode);
    參數(shù)列表:
    參數(shù)
    類型
    含義
    ReaderID
    int
    所要獲取的設(shè)備標(biāo)示ID,范圍0x0000-0xFFFF,如果未知,則ReaderID=0
    SearchMode
    char
    卡類型
    0x41-----ISO14443A
    0x42----- ISO14443B
    0x31----- ISO15693
    0x53------ST系列卡
    0x52------AT88RF020等
    返 回 值:大于0為命令發(fā)送成功,小于0為命令發(fā)送失敗
     
    ISO14443A相關(guān)函數(shù)
     
    函數(shù)原形:int stdcall YW_RequestCard(int ReaderID,char RequestMode , unsigned short *CardType);
    參數(shù)列表:
    參數(shù)
    類型
    含義
    ReaderID
    int
    所要獲取的設(shè)備標(biāo)示ID,范圍0x0000-0xFFFF,如果未知,則ReaderID=0
    RequestMode
    char
    尋卡的模式
    0x52----- 所有卡
    0x26----- 激活卡
    CardType
    unsigned short *
    返回卡的類型
    0x4400 = Ultralight/UltraLight C  /MifarePlus(7Byte UID)
    0x0400 = Mifare Mini/Mifare 1K (S50) /MifarePlus(4Byte UID)
    0x0200 = Mifare_4K(S70)/ MifarePlus(4Byte UID)
    0x0800 = Mifare_Pro
    0x0403 = Mifare_ProX
    0x4403 ->Mifare_DESFire
    0x4200 -> MifarePlus(7Byte UID)
     
     
    返 回 值:大于0為命令發(fā)送成功,小于0為命令發(fā)送失敗
     
     
    20. Type A卡訪沖突
    函數(shù)原形:int stdcall YW_AntiCollide(int ReaderID,unsigned char *LenSNO, unsigned char *SNO)
    參數(shù)列表:
    參數(shù)
    類型
    含義
    ReaderID
    int
    所要獲取的設(shè)備標(biāo)示ID,范圍0x0000-0xFFFF,如果未知,則ReaderID=0
    LenSNO
    unsigned char*
    訪沖突獲得卡號的長度
    SNO
    unsigned char *
    訪沖突獲得卡號
    返 回 值:大于0為命令發(fā)送成功,小于0為命令發(fā)送失敗
     
    函數(shù)原形:int stdcall YW_CardSelect(int ReaderID,char LenSNO, unsigned char *SNO)
    參數(shù)列表:
    參數(shù)
    類型
    含義
    ReaderID
    int
    所要獲取的設(shè)備標(biāo)示ID,范圍0x0000-0xFFFF,如果未知,則ReaderID=0
    LenSNO
    unsigned char
    選擇卡的卡號長度
    SNO
    unsigned char *
    要選擇的卡號
    返 回 值:大于0為命令發(fā)送成功,小于0為命令發(fā)送失敗
     
    函數(shù)原形:int stdcall  YW_AntiCollideAndSelect(int ReaderID, unsigned char MultiCardMode, unsigned char *CardMem, int *SNLen, unsigned char *SN);
    參數(shù)列表:
    參數(shù)
    類型
    含義
    ReaderID
    int
    所要獲取的設(shè)備標(biāo)示ID,范圍0x0000-0xFFFF,如果未知,則ReaderID=0
    MultiCardMode
    unsigned char
    對多張卡的處理方式
    0: 多張卡返回錯誤
    1:返回一張卡號
    CardMem
    unsigned char *
    卡片容量代碼
    SNLen
    int *
    輸出卡號的長度
    SN
    unsigned char *
    輸出卡的序列號
    返 回 值:大于0為命令發(fā)送成功,小于0為命令發(fā)送失敗
     
    函數(shù)原形:int stdcall  YW_RequestAntiandSelect(int ReaderID,int SearchMode,int MultiCardMode,unsigned short *ATQA,unsigned char *SAK,unsigned char *LenSNO,unsigned char *SNO);
    參數(shù)列表:
    參數(shù)
    類型
    含義
    ReaderID
    int
    所要獲取的設(shè)備標(biāo)示ID,范圍0x0000-0xFFFF,如果未知,則ReaderID=0
    RequestMode
    unsigned char
    尋卡的模式
    0x52 所有卡
    0x26 激活卡
    MultiCardMode
    unsigned char
    對多張卡的處理方式
    0: 多張卡返回錯誤
    1:返回一張卡號
    ATQA
    unsigned short *
    ATQA值
    SAK
    unsigned char *
    SAK值
    SNLen
    int *
    輸出卡號的長度
    SN
    unsigned char *
    輸出卡的序列號
    返 回 值:大于0為命令發(fā)送成功,小于0為命令發(fā)送失敗
     
    24. Type A卡n級訪沖突
    函數(shù)原形:int stdcall YW_AntiCollide_Level(int ReaderID,int Leveln,char *LenSNO, unsigned char *SNO);
    參數(shù)列表:
    參數(shù)
    類型
    含義
    ReaderID
    int
    所要獲取的設(shè)備標(biāo)示ID,范圍0x0000-0xFFFF,如果未知,則ReaderID=0
    Leveln
    int
    訪沖突級別,最高為3級
    LenSNO
    unsigned char*
    訪沖突獲得卡號的長度
    SNO
    unsigned char *
    訪沖突獲得卡號
    返 回 值:大于0為命令發(fā)送成功,小于0為命令發(fā)送失敗
     
    25. Type A卡n級選卡
    函數(shù)原形:int stdcall YW_SelectCard_Level(int ReaderID,int Leveln,unsigned char *SAK)
    參數(shù)列表:
    參數(shù)
    類型
    含義
    ReaderID
    int
    所要獲取的設(shè)備標(biāo)示ID,范圍0x0000-0xFFFF,如果未知,則ReaderID=0
    Leveln
    int
    訪沖突級別,最高為3級
    SAK
    unsigned char*
    SAK值
    返 回 值:大于0為命令發(fā)送成功,小于0為命令發(fā)送失敗
     
     
    S50/S70卡相關(guān)操作
     
    函數(shù)原形:int stdcall YW_ DownLoadKey(int ReaderID, int KeyIndex,char * Key);
    參數(shù)列表:
    參數(shù)
    類型
    含義
    ReaderID
    int
    所要獲取的設(shè)備標(biāo)示ID,范圍0x0000-0xFFFF,如果未知,則ReaderID=0
    KeyIndex
    int
    只寫區(qū)秘鑰序號0~31,共可寫32個秘鑰
    Key
    char *
    秘鑰,每個秘鑰6個字節(jié)
    返 回 值:大于0為命令發(fā)送成功,小于0為命令發(fā)送失敗
     
    函數(shù)原形:int stdcall YW_KeyDown_Authorization (int ReaderID, char KeyMode ,int BlockAddr,int KeyIndex);
    參數(shù)列表:
    參數(shù)
    類型
    含義
    ReaderID
    int
    所要獲取的設(shè)備標(biāo)示ID,范圍0x0000-0xFFFF,如果未知,則ReaderID=0
    KeyMode
    char
    KeyMode=0x60為A密鑰
    KeyMode=0x61為B密鑰
    BlockAddr
    int
    要驗(yàn)證的絕對塊號地址
    KeyIndex
    int
    只寫區(qū)秘鑰序號0~31
    返 回 值:大于0為命令發(fā)送成功,小于0為命令發(fā)送失敗
     
    函數(shù)原形:int stdcall YW_KeyAuthorization (int ReaderID,char KeyMode,int BlockAddr, unsigned char *Key);
    參數(shù)列表:
    參數(shù)
    類型
    含義
    ReaderID
    int
    所要獲取的設(shè)備標(biāo)示ID,范圍0x0000-0xFFFF,如果未知,則ReaderID=0
    KeyMode
    char
    KeyMode=0x60為A密鑰
    KeyMode=0x61為B密鑰
    BlockAddr
    int
    要驗(yàn)證的絕對塊號地址
    Key
    unsigned char *
    密鑰字節(jié)(共6個字節(jié))
    返 回 值:大于0為命令發(fā)送成功,小于0為命令發(fā)送失敗
     
    函數(shù)原形:int stdcall YW_ReadaBlock (int ReaderID,int BlockAddr,int LenData, unsigned char *Data);
    參數(shù)列表:
    參數(shù)
    類型
    含義
    ReaderID
    int
    所要獲取的設(shè)備標(biāo)示ID,范圍0x0000-0xFFFF,如果未知,則ReaderID=0
    BlockAddr
    int
    絕對地址塊號
    LenData
    int
    要讀出的數(shù)據(jù)的字節(jié)數(shù),Mifare One為16個字節(jié)
    Data
    unsigned char *
    輸出讀到的塊的數(shù)據(jù)
    返 回 值:大于0為命令發(fā)送成功,小于0為命令發(fā)送失敗
     
    函數(shù)原形:int stdcall YW_WriteaBlock (int ReaderID,int BlockAddr,int LenData, unsigned char *Data);
    參數(shù)列表:
    參數(shù)
    類型
    含義
    ReaderID
    int
    所要獲取的設(shè)備標(biāo)示ID,范圍0x0000-0xFFFF,如果未知,則ReaderID=0
    BlockAddr
    int
    絕對塊號地址
    LenData
    int
    要寫入的數(shù)據(jù)的字節(jié)數(shù),Mifare One為16個字節(jié)
    Data
    unsigned char *
    要寫入的塊的數(shù)據(jù)
    返 回 值:大于0為命令發(fā)送成功,小于0為命令發(fā)送失敗
     
    函數(shù)原形:int stdcall YW_Purse_Initial (int ReaderID,int BlockAddr,int IniMoney);
    參數(shù)列表:
    參數(shù)
    類型
    含義
    ReaderID
    int
    所要獲取的設(shè)備標(biāo)示ID,范圍0x0000-0xFFFF,如果未知,則ReaderID=0
    BlockAddr
    int
    絕對塊號地址
    IniMoney
    int
    初始化錢包時的初始值
    返 回 值:大于0為命令發(fā)送成功,小于0為命令發(fā)送失敗
     
    函數(shù)原形:int stdcall YW_Purse_Read (int ReaderID,int BlockAddr,int *Money);
    參數(shù)列表:
    參數(shù)
    類型
    含義
    ReaderID
    int
    所要獲取的設(shè)備標(biāo)示ID,范圍0x0000-0xFFFF,如果未知,則ReaderID=0
    BlockAddr
    int
    絕對塊號地址
    Money
    Int *
    讀取的塊號錢包的當(dāng)前值
    返 回 值:大于0為命令發(fā)送成功,小于0為命令發(fā)送失敗
     
    函數(shù)原形:int stdcall YW_Purse_Decrease (int ReaderID,int BlockAddr,int Decrement);
    參數(shù)列表:
    參數(shù)
    類型
    含義
    ReaderID
    int
    所要獲取的設(shè)備標(biāo)示ID,范圍0x0000-0xFFFF,如果未知,則ReaderID=0
    BlockAddr
    int
    絕對塊號地址
    Decrement
    Int
    錢包中要扣掉的值
    返 回 值:大于0為命令發(fā)送成功,小于0為命令發(fā)送失敗
     
    函數(shù)原形:int stdcall YW_Purse_Charge (int ReaderID,int BlockAddr,int Charge);
    參數(shù)列表:
    參數(shù)
    類型
    含義
    ReaderID
    int
    所要獲取的設(shè)備標(biāo)示ID,范圍0x0000-0xFFFF,如果未知,則ReaderID=0
    BlockAddr
    int
    絕對塊號地址
    Charge
    Int
    錢包中要充值的值
    返 回 值:大于0為命令發(fā)送成功,小于0為命令發(fā)送失敗
     
    函數(shù)原形:int stdcall YW_Restore (int ReaderID,int BlockAddr);
    參數(shù)列表:
    參數(shù)
    類型
    含義
    ReaderID
    int
    所要獲取的設(shè)備標(biāo)示ID,范圍0x0000-0xFFFF,如果未知,則ReaderID=0
    BlockAddr
    int
    絕對塊號地址
    返 回 值:大于0為命令發(fā)送成功,小于0為命令發(fā)送失敗
     
    函數(shù)原形:int stdcall YW_Transfer (int ReaderID,int BlockAddr);
    參數(shù)列表:
    參數(shù)
    類型
    含義
    ReaderID
    int
    所要獲取的設(shè)備標(biāo)示ID,范圍0x0000-0xFFFF,如果未知,則ReaderID=0
    BlockAddr
    int
    絕對塊號地址
    返 回 值:大于0為命令發(fā)送成功,小于0為命令發(fā)送失敗
     
     
    函數(shù)原形:int stdcall YW_ReadM1MultiBlock(int ReaderID, int StartBlock, int BlockNums, int *LenData, char *pData);
    參數(shù)列表:
    參數(shù)
    類型
    含義
    ReaderID
    int
    所要獲取的設(shè)備標(biāo)示ID,范圍0x0000-0xFFFF,如果未知,則ReaderID=0
    StartBlock
    int
    絕對地址開始塊號
    BlockNums
    int
    塊的數(shù)量
    LenData
    Int*
    要讀出的數(shù)據(jù)的字節(jié)數(shù)
    Data
    unsigned char *
    輸出讀到的塊的數(shù)據(jù)
    返 回 值:大于0為命令發(fā)送成功,小于0為命令發(fā)送失敗
     
    函數(shù)原形:int stdcall YW_WriteM1MultiBlock(int ReaderID, int StartBlock, int BlockNums, int LenData, char *pData);
    參數(shù)列表:
    參數(shù)
    類型
    含義
    ReaderID
    int
    所要獲取的設(shè)備標(biāo)示ID,范圍0x0000-0xFFFF,如果未知,則ReaderID=0
    StartBlock
    int
    絕對地址開始塊號
    BlockNums
    int
    塊的數(shù)量
    LenData
    int
    要寫入的數(shù)據(jù)的字節(jié)數(shù),Mifare One為16* BlockNums個字節(jié)
    Data
    unsigned char *
    寫入的塊的數(shù)據(jù)
    返 回 值:大于0為命令發(fā)送成功,小于0為命令發(fā)送失敗
     
    UltraLight卡操作函數(shù)
     
    39. 讀取UltraLight塊數(shù)據(jù)
    函數(shù)原形:int stdcall YW_UltraLightRead(int ReaderID, int BlockID, unsigned char *pData);
    參數(shù)列表:
    參數(shù)
    類型
    含義
    ReaderID
    int
    所要獲取的設(shè)備標(biāo)示ID,范圍0x0000-0xFFFF,如果未知,則ReaderID=0
    BlockID
    int
    絕對地址塊號
    pData
    unsigned char *
    輸出讀到的塊的數(shù)據(jù),4字節(jié)
    返 回 值:大于0為命令發(fā)送成功,小于0為命令發(fā)送失敗
     
     
    40. 寫UltraLight塊數(shù)據(jù)
    函數(shù)原形:int stdcall YW_UltraLightWrite(int ReaderID, int BlockID, unsigned char *pData);
    參數(shù)列表:
    , ,
    參數(shù)
    類型
    含義
    ReaderID
    int
    所要獲取的設(shè)備標(biāo)示ID,范圍0x0000-0xFFFF,如果未知,則ReaderID=0
    BlockID
    int
    絕對地址塊號
    pData
    unsigned char *
    要寫入的塊的數(shù)據(jù),4字節(jié)
    返 回 值:大于0為命令發(fā)送成功,小于0為命令發(fā)送失敗
     
     
    Type A CPU卡操作函數(shù)
    41. Type A�。茫校铡】◤�(fù)位
    函數(shù)原形:int stdcall YW_TypeA_Reset(int ReaderID, unsigned char Mode, unsigned char MultiMode, int *rtLen, unsigned char *pData);
    參數(shù)列表:
    參數(shù)
    類型
    含義
    ReaderID
    int
    所要獲取的設(shè)備標(biāo)示ID,范圍0x0000-0xFFFF,如果未知,則ReaderID=0
    Mode
    unsigned char
    尋卡的模式
    0x52 所有卡
    0x26 激活卡
    MultiMode
    unsigned char
    對多張卡的處理方式
    0: 多張卡返回錯誤
    1:返回一張卡號
    rtLen
    int *
    返回復(fù)位信息的長度
    pData
    unsigned char *
    返回復(fù)位信息
    返 回 值:大于0為命令發(fā)送成功,小于0為命令發(fā)送失敗
     
    42. Type A�。茫校铡】▓�(zhí)行COS命令
    函數(shù)原形:int stdcall YW_TypeA_COS(int ReaderID, int LenCOS, unsigned char *Com_COS, int *rtLen, unsigned char *pData);
    參數(shù)列表:
    參數(shù)
    類型
    含義
    ReaderID
    int
    所要獲取的設(shè)備標(biāo)示ID,范圍0x0000-0xFFFF,如果未知,則ReaderID=0
    LenCOS
    unsigned char*
    輸入的COS命令的長度
    Com_COS
    unsigned char*
    COS命令
    rtLen
    int *
    返回執(zhí)行命令結(jié)果的長度
    pData
    unsigned char *
    返回執(zhí)行命令結(jié)果
    返 回 值:大于0為命令發(fā)送成功,小于0為命令發(fā)送失敗
     
    Mifare Plus卡操作函數(shù)
     
    43. Mifare Plus卡Level 0級寫數(shù)據(jù)
    函數(shù)原形:int stdcall YW_MFP_L0_WritePerso(int ReaderID, int Address, unsigned char *pData);
    參數(shù)列表:
    參數(shù)
    類型
    含義
    ReaderID
    int
    所要獲取的設(shè)備標(biāo)示ID,范圍0x0000-0xFFFF,如果未知,則ReaderID=0
    Address
    unsigned char
    要寫入數(shù)據(jù)的地址
    Com_ pData
    unsigned char*
    要寫入的數(shù)據(jù),16字節(jié)
    返 回 值:大于0為命令發(fā)送成功,小于0為命令發(fā)送失敗
     
     
    44. Mifare Plus卡Level 0級向Level 1或3級切換
    函數(shù)原形:int stdcall YW_MFP_L0_CommitPerso(int ReaderID);
    參數(shù)列表:
    參數(shù)
    類型
    含義
    ReaderID
    int
    所要獲取的設(shè)備標(biāo)示ID,范圍0x0000-0xFFFF,如果未知,則ReaderID=0
    返 回 值:大于0為命令發(fā)送成功,小于0為命令發(fā)送失敗
     
    45. Mifare Plus卡從低級向高級切換
    函數(shù)原形:int stdcall YW_MFP_SwitchToLevel(int ReaderID, int DesLevel,unsigned char *SwitchKey);
    參數(shù)列表:
    參數(shù)
    類型
    含義
    ReaderID
    int
    所要獲取的設(shè)備標(biāo)示ID,范圍0x0000-0xFFFF,如果未知,則ReaderID=0
    DesLevel
    unsigned char
    要切換到的層級,最高3級
    SwitchKey
    unsigned char*
    切換秘鑰,16字節(jié)
    返 回 值:大于0為命令發(fā)送成功,小于0為命令發(fā)送失敗
     
    46. Mifare Plus卡Level 3級授權(quán)
    函數(shù)原形:int stdcall YW_MFP_L3_Authorization(int ReaderID, int KeyMode,int BlockID,unsigned char *Key);
    參數(shù)列表:
    參數(shù)
    類型
    含義
    ReaderID
    int
    所要獲取的設(shè)備標(biāo)示ID,范圍0x0000-0xFFFF,如果未知,則ReaderID=0
    KeyMode
    unsigned char
    KeyMode=0x60為A密鑰
    KeyMode=0x61為B密鑰
    BlockID
    unsigned char
    塊號
    Key
    unsigned char*
    秘鑰,16字節(jié)
    返 回 值:大于0為命令發(fā)送成功,小于0為命令發(fā)送失敗
     
    47. Mifare Plus卡Level 3級讀塊數(shù)據(jù)
    函數(shù)原形:int stdcall YW_MFP_L3_Read(int ReaderID, int StartBlock,int BlockNums,int *DataLen, unsigned char *pData);
    參數(shù)列表:
    參數(shù)
    類型
    含義
    ReaderID
    int
    所要獲取的設(shè)備標(biāo)示ID,范圍0x0000-0xFFFF,如果未知,則ReaderID=0
    StartBlock
    int
    開始塊號
    BlockNums
    int
    塊數(shù)量
    DataLen
    int*
    讀到的數(shù)據(jù)長度
    pData
    unsigned char*
    讀到的數(shù)據(jù)
    返 回 值:大于0為命令發(fā)送成功,小于0為命令發(fā)送失敗
     
     
    48. Mifare Plus卡Level 3級寫塊數(shù)據(jù)
    函數(shù)原形:int stdcall YW_MFP_L3_Write(int ReaderID, int StartBlock,int BlockNums, unsigned char *pData);
    參數(shù)列表:
    參數(shù)
    類型
    含義
    ReaderID
    int
    所要獲取的設(shè)備標(biāo)示ID,范圍0x0000-0xFFFF,如果未知,則ReaderID=0
    StartBlock
    int
    開始塊號
    BlockNums
    int
    塊數(shù)量
    pData
    unsigned char*
    要寫入的數(shù)據(jù),長度必須是16* BlockNums
    返 回 值:大于0為命令發(fā)送成功,小于0為命令發(fā)送失敗
     
     
    49. Mifare Plus卡Level 3級將某一扇區(qū)初始化為錢包
    函數(shù)原形:int stdcall YW_MFP_L3_Purse_Initial(int ReaderID, int BlockID,int InitialValue);
    參數(shù)列表:
    參數(shù)
    類型
    含義
    ReaderID
    int
    所要獲取的設(shè)備標(biāo)示ID,范圍0x0000-0xFFFF,如果未知,則ReaderID=0
    BlockID
    int
    絕對塊號地址
    InitialValue
    int
    初始化錢包時的初始值
    返 回 值:大于0為命令發(fā)送成功,小于0為命令發(fā)送失敗
     
    50. Mifare Plus卡Level 3級讀取錢包值
    函數(shù)原形:int stdcall YW_MFP_L3_Purse_Read(int ReaderID, int BlockID,int *Value);
    參數(shù)列表:
    參數(shù)
    類型
    含義
    ReaderID
    int
    所要獲取的設(shè)備標(biāo)示ID,范圍0x0000-0xFFFF,如果未知,則ReaderID=0
    BlockID
    int
    絕對塊號地址
    Value
    Int *
    讀取的塊號錢包的當(dāng)前值
    返 回 值:大于0為命令發(fā)送成功,小于0為命令發(fā)送失敗
     
    51. Mifare Plus卡Level 3級錢包扣款
    函數(shù)原形:int stdcall YW_MFP_L3_Purse_Charge(int ReaderID, int BlockID,int Value);
    參數(shù)列表:
    參數(shù)
    類型
    含義
    ReaderID
    int
    所要獲取的設(shè)備標(biāo)示ID,范圍0x0000-0xFFFF,如果未知,則ReaderID=0
    BlockID
    int
    絕對塊號地址
    Value
    Int
    錢包中要扣掉的值
    返 回 值:大于0為命令發(fā)送成功,小于0為命令發(fā)送失敗
     
    52. Mifare Plus卡Level 3級錢包充值
    函數(shù)原形:int stdcall YW_MFP_L3_Purse_Decrease(int ReaderID, int BlockID,int Value);
    參數(shù)列表:
    參數(shù)
    類型
    含義
    ReaderID
    int
    所要獲取的設(shè)備標(biāo)示ID,范圍0x0000-0xFFFF,如果未知,則ReaderID=0
    BlockID
    int
    絕對塊號地址
    Value
    Int
    錢包中要充值的值
    返 回 值:大于0為命令發(fā)送成功,小于0為命令發(fā)送失敗
     
    53. Mifare Plus卡Level 3級備份錢包
    函數(shù)原形:int stdcall YW_MFP_L3_Purse_Backup(int ReaderID, int BlockID,int DesBlockID);
    參數(shù)列表:
    參數(shù)
    類型
    含義
    ReaderID
    int
    所要獲取的設(shè)備標(biāo)示ID,范圍0x0000-0xFFFF,如果未知,則ReaderID=0
    BlockID
    int
    要備份的錢包塊號
    DesBlockID
    Int
    目標(biāo)塊號
    返 回 值:大于0為命令發(fā)送成功,小于0為命令發(fā)送失敗
     
    54. Mifare Plus卡Level 3級通用讀寫第一次授權(quán)
    函數(shù)原形:int stdcall YW_MFP_Authorization_First(int ReaderID,  int AESKeyAddr,unsigned char *AESKey);
    參數(shù)列表:
    參數(shù)
    類型
    含義
    ReaderID
    int
    所要獲取的設(shè)備標(biāo)示ID,范圍0x0000-0xFFFF,如果未知,則ReaderID=0
    AESKeyAddr
    int
    要授權(quán)的地址
    AESKey
    unsigned char *
    授權(quán)秘鑰,16字節(jié)
    返 回 值:大于0為命令發(fā)送成功,小于0為命令發(fā)送失敗
     
    55. Mifare Plus卡Level 3級通用讀寫第二次授權(quán)
    函數(shù)原形:int stdcall YW_MFP_Authorization_Follow(int ReaderID, int AESKeyAddr,unsigned char *AESKey);
    參數(shù)列表:
    參數(shù)
    類型
    含義
    ReaderID
    int
    所要獲取的設(shè)備標(biāo)示ID,范圍0x0000-0xFFFF,如果未知,則ReaderID=0
    AESKeyAddr
    int
    要授權(quán)的地址
    AESKey
    unsigned char *
    授權(quán)秘鑰,16字節(jié)
    返 回 值:大于0為命令發(fā)送成功,小于0為命令發(fā)送失敗
     
    56. Mifare Plus卡Level 3級通用讀塊
    函數(shù)原形:int stdcall YW_MFP_CommonRead(int ReaderID, int BlockID, int BlockNums,int *DataLen,unsigned char *pData);
    參數(shù)列表:
    參數(shù)
    類型
    含義
    ReaderID
    int
    所要獲取的設(shè)備標(biāo)示ID,范圍0x0000-0xFFFF,如果未知,則ReaderID=0
    BlockID
    int
    通用塊地址
    BlockNums
    int
    塊數(shù)量
    DataLen
    Int*
    返回的數(shù)據(jù)長度
    pData
    unsigned char *
    返回的數(shù)據(jù)
    返 回 值:大于0為命令發(fā)送成功,小于0為命令發(fā)送失敗
     
    57. Mifare Plus卡Level 3級通用寫塊
    函數(shù)原形:int stdcall YW_MFP_CommonWrite(int ReaderID, int BlockID, int BlockNums, unsigned char *pData);
    參數(shù)列表:
    參數(shù)
    類型
    含義
    ReaderID
    int
    所要獲取的設(shè)備標(biāo)示ID,范圍0x0000-0xFFFF,如果未知,則ReaderID=0
    BlockID
    int
    通用塊地址
    BlockNums
    int
    塊數(shù)量
    pData
    unsigned char *
    要寫入的數(shù)據(jù),長度必須為16* BlockNums
    返 回 值:大于0為命令發(fā)送成功,小于0為命令發(fā)送失敗
     
    SAM卡操作函數(shù)
    58. SAM卡波特率設(shè)置
    函數(shù)原形:int __stdcall YW_SAM_ResetBaud(int ReaderID,int SAMIndex, int BaudIndex);
    參數(shù)列表:
    參數(shù)
    類型
    含義
    ReaderID
    int
    所要獲取的設(shè)備標(biāo)示ID,范圍0x0000-0xFFFF,如果未知,則ReaderID=0
    SAMIndex
    int
    SAM卡序號
    BaudIndex
    int
    0x00->9600 (默認(rèn)復(fù)位波特率)
    0x01->19200
    0x02->38400
    0x03->55800
    0x04->57600
    0x05->115200
     
    返 回 值:大于0為成功,小于0為失敗
     
    59. SAM卡復(fù)位
    函數(shù)原形:int __stdcall YW_SAM_Reset(int ReaderID,int SAMIndex, int *rtLen, unsigned char *pData);
    參數(shù)列表:
    參數(shù)
    類型
    含義
    ReaderID
    int
    所要獲取的設(shè)備標(biāo)示ID,范圍0x0000-0xFFFF,如果未知,則ReaderID=0
    SAMIndex
    int
    SAM卡序號
    rtLen
    int *
    SAM卡復(fù)位返回的數(shù)據(jù)pData的長度
    pData
    unsigned char *
    SAM卡復(fù)位返回的數(shù)據(jù)
     
    返 回 值:大于0為成功,小于0為失敗
     
    60. SAM卡執(zhí)行COS命令
    函數(shù)原形:int __stdcall YW_SAM_COS(int ReaderID,int SAMIndex, int LenCOS, unsigned char *Com_COS, int *rtLen, unsigned char *pData);
    參數(shù)列表:
    參數(shù)
    類型
    含義
    ReaderID
    int
    所要獲取的設(shè)備標(biāo)示ID,范圍0x0000-0xFFFF,如果未知,則ReaderID=0
    SAMIndex
    int
    SAM卡序號
    LenCOS
    int
    向SAM卡要發(fā)送的COS命令的長度
    Com_COS
    unsigned char *
    向SAM卡要發(fā)送的COS命令
    rtLen
    unsigned char *
    SAM執(zhí)行COS命令后返回的數(shù)據(jù)的長度
    pData
    unsigned char *
    SAM執(zhí)行COS命令后返回的數(shù)據(jù)
     
    返 回 值:大于0為成功,小于0為失敗
     
    61. SAM卡PPS波特率設(shè)置
    函數(shù)原形:int __stdcall YW_SAM_PPSBaud(int ReaderID,int SAMIndex, int BaudIndex);
    參數(shù)列表:
    參數(shù)
    類型
    含義
    ReaderID
    int
    所要獲取的設(shè)備標(biāo)示ID,范圍0x0000-0xFFFF,如果未知,則ReaderID=0
    SAMIndex
    int
    SAM卡序號
    BaudIndex
    int
    0x00->9600 (默認(rèn)復(fù)位波特率)
    0x01->19200
    0x02->38400
    0x03->55800
    0x04->57600
    0x05->115200
     
    返 回 值:大于0為成功,小于0為失敗
     

    5       讀卡操作流程

    YW605在所有卡操作之前必須打開天線,讀完卡后可關(guān)閉天線,也可以不關(guān)閉天線。對卡的操作流程如下圖所示:
     
     
     
     
     
     
     
     
     
     
     
     
     
     

    6       程序開發(fā)注意事項

    6.1    YW-605系列讀卡器具有多種接口,不同的接口,SDK中端口初始化函數(shù)有所區(qū)別。

    l        串口,RS485,USB虛擬的串口的讀卡器端口操作函數(shù)為:
    打開端口:int stdcall YW_ComInitial(int PortIndex, int Baud);
    釋放端口:int stdcall YW_ComFree(void);
    l        USB HID的讀卡器端口操作函數(shù)為:
    打開端口:int stdcall YW_USBHIDInitial(void);
    釋放端口:int stdcall YW_USBHIDFree(void);

    7       更多幫助

    更多幫助請聯(lián)系友我科技技術(shù)支持,或者QQ:896163157.

    最新版RFID讀寫器產(chǎn)品手冊下載


    相關(guān)產(chǎn)品

    最新RFID讀寫器產(chǎn)品手冊
    RFID讀寫器SDK開發(fā)包
    USB射頻卡RFID讀寫器YW-605-USB
    串口射頻卡RFID讀寫器YW-605-RS232
    LED射頻卡RFID讀寫器YW-608
    射頻卡RFID讀寫器發(fā)卡器SDT系列
    多功能LCD射頻卡RFID讀寫器YW-610
    雙界面讀寫器YW-620
    NFC讀寫器YW-607HCYW-607
    網(wǎng)絡(luò)NFC讀寫器YW-615

    打印本頁 || 關(guān)閉窗口
    企業(yè)簡介||付款方式||網(wǎng)站地圖||友情連接||聯(lián)系我們

    RFID讀寫器,IC卡讀卡器, 智能卡讀卡器,RFID讀卡器, 電子標(biāo)簽,CPU卡讀寫器,讀卡模塊
    北京友我科技有限公司 版權(quán)所有 (C)2008-2020
    客戶服務(wù)中心信箱:coodor#126.com(將#改為@)
    熱線直撥: 010-57049038 18910685939 電話微信:13691531038,13671114914
    京ICP備14016005號
    微信掃一掃聯(lián)系我們

    微信掃一掃聯(lián)系我們

    友我科技

      <sub id="62jh5"><p id="62jh5"><li id="62jh5"></li></p></sub>
    1. <center id="62jh5"></center>

      <legend id="62jh5"></legend>
      <sub id="62jh5"></sub>
      午夜福利男女 | 亚洲无码中文字幕在线观看 | 在线成人国产天堂精品va | 日韩黄片一级 | 色色婷婷综合 | 国产va精品 | 日韩欧美一区视频 | 污污网站在线观看 | 天天综合一区二区 | 天天操天天碰 |

      1
      RFID讀寫器產(chǎn)品手冊下載
      2
      讀寫器開發(fā)SDK下載
      3
      點(diǎn)擊聯(lián)系友我科技
      4
      點(diǎn)擊聯(lián)系友我科技
      5
      WEB讀卡器開發(fā)指南
      6
      Windows讀卡器開發(fā)指南
      7
      Android讀卡器開發(fā)指南
      8
      Wince讀卡器開發(fā)指南
      9
      PLC讀卡器開發(fā)指南
      10
      Linux讀卡器開發(fā)指南
      11
      單片機(jī)讀卡器開發(fā)指南
      12
      PCSC讀卡器開發(fā)指南