国产偷亚洲偷欧美偷精品_亚洲成a人无码亚洲成www牛牛_广东少妇大战黑人34厘米视频_国产仑乱无码内谢_亚洲性无码一区二区三区

您現(xiàn)在的位置:包裝印刷網(wǎng)>技術(shù)首頁>技術(shù)動態(tài)

北京友我科技有限公司

企業(yè)直播推薦

更多>
食品溫度計SI-692

食品溫度計SI-692回放

開播時間03-16 09:30

產(chǎn)品推薦

更多>

Java JNI調(diào)用IC卡讀卡器

2025
01-03

01:32:07

分享:
15
來源:北京友我科技有限公司

Java調(diào)用IC卡讀卡器的DLL一般有以下2種方式:

1.使用JNative第三方庫調(diào)用IC卡讀卡器dll的接口.

2.使用JNI調(diào)用IC卡讀卡器dll的接口.


JNative調(diào)用IC卡讀卡器dll很方便,只要知道接口名稱和參數(shù)類型即可調(diào)用, 缺點是僅支持32位的程序, 不支持64位。


JNI調(diào)用IC卡讀卡器的DLL,既支持64位程序也支持32位程序, 調(diào)用也非常方便,下面將介紹JNI調(diào)用IC卡讀卡器DLL的方式。

對于經(jīng)常使用的普通IC卡為例, 首先聲明相關(guān)的api接口:

public native int YW_USBHIDInitial();

public native int YW_USBHIDFree();

public native int YW_Buzzer(int ReaderID,int Time_ON, int Time_OFF, int Cycle);

public native int YW_Led(int ReaderID,int LEDIndex, int Time_ON, int Time_OFF, int Cycle, int LedIndexOn);

public native int YW_AntennaStatus(int ReaderID,boolean Status);

public native int YW_SearchCardMode(int ReaderID,int Mode);

public native int YW_RequestCard(int ReaderID,int RequestMode, short CardType[]);

public native int YW_AntiCollide(int ReaderID, byte LenSNO[], byte SNO[]);

public native int YW_CardSelect(int ReaderID,byte LenSNO, byte SNO[]);

public native int YW_DownLoadKey(int ReaderID,int KeyIndex, byte Key[]);

public native int YW_KeyDown_Authorization(int ReaderID,int KeyMode, int BlockAddr, byte KeyIndex);

public native int YW_KeyAuthorization(int ReaderID,int KeyMode, int BlockAddr, byte[]Key);

public native int YW_ReadaBlock(int ReaderID,int BlockAddr, int LenData, byte pData[]);

public native int YW_WriteaBlock(int ReaderID,int BlockAddr, int LenData, byte pData[]);

public native int YW_Purse_Initial(int ReaderID,int BlockAddr, int IniMoney);

public native int YW_Purse_Read(int ReaderID,int BlockAddr, int Money[]);

public native int YW_Purse_Decrease(int ReaderID,int BlockAddr, int Decrement);

public native int YW_Purse_Charge(int ReaderID,int BlockAddr, int Charge);

public native int YW_CardHalt(int ReaderID);

public native int YW_Restore(int ReaderID,int BlockAddr);

public native int YW_Transfer(int ReaderID,int BlockAddr);

public native int YW_AntiCollideAndSelect(int ReaderID,byte ReturnMode, byte CardMem[], byte SNLen[], byte SN[]);


然后靜態(tài)裝載dll,64位程序裝載64位的dll,32位裝載32位的dll。

static {

System.loadLibrary("YW60X-32");

}


經(jīng)過以上聲明后,就可以直接調(diào)用接口了,如:

YOWORFID rfidreader = new YOWORFID();

rfidreader.YW_USBHIDInitial();

int rt =0;

rt =rfidreader.YW_RequestCard(ReaderID,Requestmode,Cardtype);

rt = rfidreader.YW_AntiCollide(ReaderID,LenSn,CardNo);

HexToStr(CardNo,LenSn[0]);

rt =rfidreader.YW_CardSelect(ReaderID,LenSn[0],CardNo);

rt =rfidreader.YW_KeyAuthorization(ReaderID,96,4,Key);

System.out.printf("KeyAuthorization=%d",rt);System.out.println();

rt =rfidreader.YW_ReadaBlock(ReaderID,4,16,BlockData);

System.out.printf("YW_ReadaBlock=%d",rt);System.out.println();

if(rt>0){HexToStr(BlockData,16);}

rfidreader.YW_Led(ReaderID,1,1,1,3,0);

rfidreader.YW_USBHIDFree();

以下java代碼例子包含了讀卡和寫卡的,可以使用32位或者64的dll,Java JNI調(diào)用IC卡讀卡器例程


全年征稿/資訊合作 聯(lián)系郵箱:137230772@qq.com
版權(quán)與免責聲明

1、凡本網(wǎng)注明"來源:包裝印刷網(wǎng)"的所有作品,版權(quán)均屬于包裝印刷網(wǎng),轉(zhuǎn)載請必須注明包裝印刷網(wǎng),http://m.dhgjyz.top/。違反者本網(wǎng)將追究相關(guān)法律責任。

2、企業(yè)發(fā)布的公司新聞、技術(shù)文章、資料下載等內(nèi)容,如涉及侵權(quán)、違規(guī)遭投訴的,一律由發(fā)布企業(yè)自行承擔責任,本網(wǎng)有權(quán)刪除內(nèi)容并追溯責任。

3、本網(wǎng)轉(zhuǎn)載并注明自其它來源的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內(nèi)容的真實性,不承擔此類作品侵權(quán)行為的直接責任及連帶責任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品來源,并自負版權(quán)等法律責任。

4、如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

QQ聯(lián)系

咨詢中心
客服幫您輕松解決~

聯(lián)系電話

參展咨詢0571-81020275會議咨詢0571-81020275

建議反饋

返回頂部