综综综综合网I色五开心五月五月深深爱I外人精品影院I色碰AVI九九性爱网站I91精品国产成人做爰观看奶头I神马久95I6080午夜福利I无码欧美I9999热青青草I国产免费一区二区三区色大师I久插avI国产一区二区三区四区tvI肉肉AVI日韩无码hIAV鲁丝一区二区鲁丝性I玖玖色在线I护士HD老师free性XXXhdI亚洲四虎8848成人久久久久久久I26uuu国产亚洲日韩

非接觸式IC卡讀寫(xiě)器在QT平臺(tái)的二次開(kāi)發(fā)范例

2019-05-30 18:01:00
諾塔斯智能科技
原創(chuàng)
7735
摘要:?目前有部分客戶在使用QT平臺(tái)上接入我們的智能卡讀寫(xiě)器產(chǎn)品,因此,我們專門(mén)為QT用戶提供了一套開(kāi)發(fā)包,部分范例如下,如需詳細(xì)開(kāi)發(fā)范例和技術(shù)支持,請(qǐng)聯(lián)系我們! 第一,我們需要導(dǎo)入 我們定義的頭文件,#include "LotusCardDriver.h",這個(gè)里面做了一些相關(guān)定義,具體請(qǐng)參考開(kāi)發(fā)范例源文件。 第二、在main()函數(shù)中對(duì)設(shè)備進(jìn)行初始化;

首先我們需要認(rèn)識(shí)一下,什么是QT。

是一個(gè)1991年由Qt Company開(kāi)發(fā)的跨平臺(tái)C++圖形用戶界面應(yīng)用程序開(kāi)發(fā)框架。它既可以開(kāi)發(fā)GUI程序,也可用于開(kāi)發(fā)非GUI程序,比如控制臺(tái)工具和服務(wù)器。Qt是面向?qū)ο蟮目蚣埽褂锰厥獾拇a生成擴(kuò)展(稱為元對(duì)象編譯器(Meta Object Compiler, moc))以及一些宏,Qt很容易擴(kuò)展,并且允許真正地組件編程。

QT平臺(tái)

目前有部分客戶在使用QT平臺(tái)上接入我們的智能卡讀寫(xiě)器產(chǎn)品,因此,我們專門(mén)為QT用戶提供了一套開(kāi)發(fā)包,部分范例如下,如需詳細(xì)開(kāi)發(fā)范例和技術(shù)支持,請(qǐng)聯(lián)系我們!

第一,我們需要導(dǎo)入 我們定義的頭文件,#include "LotusCardDriver.h",這個(gè)里面做了一些相關(guān)定義,具體請(qǐng)參考開(kāi)發(fā)范例源文件。

第二、在main()函數(shù)中對(duì)設(shè)備進(jìn)行初始化;

int main(int argc, char *argv[])
{
    BOOL bResult = FALSE;
    LotusHandle  hLotusCard = LotusCardOpenDevice("",0,0,0,0,NULL);
    if( hLotusCard != -1)
    {
        //TestIcCard(hLotusCard);
        ChangeM1Password(hLotusCard);
        LotusCardCloseDevice(hLotusCard);
    }
    else
    {
        printf("error %d\r\n", hLotusCard);
    }
    cout << "Hello World!" << endl;
    return hLotusCard;
//    return 0;
}


設(shè)備初始化通過(guò)LotusCardOpenDevice("",0,0,0,0,NULL)方法實(shí)現(xiàn)。參數(shù)strDeviceName:為字符長(zhǎng)度為0使用USB通道,否則使用串口通道
參數(shù)nVID\nPID參數(shù)如果為0,動(dòng)態(tài)庫(kù)使用內(nèi)部定義值,原則上建議使用0,除非范例有明確賦值。
特別聲明:使用外部讀寫(xiě)接口優(yōu)先,參見(jiàn)回調(diào)函數(shù)
/**
* 打開(kāi)設(shè)備

* @param strDeviceName
*            串口設(shè)備名稱
* @param nVID
*            USB設(shè)備VID
* @param nPID
*            USB設(shè)備PID
* @param nUsbDeviceIndex
*            USB設(shè)備索引
* @param unRecvTimeOut
*            接收超時(shí)
* @param bUseExendReadWrite
*            是否使用外部讀寫(xiě)通道 如果沒(méi)有設(shè)備寫(xiě)權(quán)限時(shí),可以使用外部USB或串口進(jìn)行通訊,
*            需要改造callBackProcess中相關(guān)代碼完成讀寫(xiě)工作 目前范例提供USB操作
* @return 設(shè)備句柄
*/

public native int OpenDevice(String strDeviceName, int nVID, int nPID,
int nUsbDeviceIndex, int unRecvTimeOut, boolean bUseExendReadWrite);
第三、非接觸式IC卡的讀寫(xiě)操作,需要對(duì)密碼的驗(yàn)證,密碼正確即可實(shí)現(xiàn)對(duì)IC卡的讀寫(xiě)。

void TestIcCard(LotusHandle hLotusCard)
{
    LotusCardParamStruct sttLotusCardParam;
    BOOL bResult = FALSE;
    bResult = LotusCardBeep(hLotusCard, 10);
    unsigned int nCardNo = 0;
    if(FALSE == bResult) return;
    int nRequestType = RT_NOT_HALT;
      //獲取卡號(hào) 同執(zhí)行下面三個(gè)函數(shù)
      memset(&sttLotusCardParam, 0x00, sizeof(sttLotusCardParam));
      bResult = LotusCardGetCardNo(hLotusCard,nRequestType, &sttLotusCardParam);
      if(FALSE == bResult) return;
      memcpy(&nCardNo, sttLotusCardParam.arrCardNo, 4);
      printf("卡號(hào)nCardNo 0x%x\r\n", nCardNo);
      //裝載密碼A
      memset(&sttLotusCardParam.arrKeys, 0x00, sizeof(sttLotusCardParam.arrKeys));
      sttLotusCardParam.arrKeys[0]=0xff;
      sttLotusCardParam.arrKeys[1]=0xff;
      sttLotusCardParam.arrKeys[2]=0xff;
      sttLotusCardParam.arrKeys[3]=0xff;
      sttLotusCardParam.arrKeys[4]=0xff;
      sttLotusCardParam.arrKeys[5]=0xff;
      sttLotusCardParam.nKeysSize = 6;
      bResult =LotusCardLoadKey(hLotusCard, AM_A, 0, &sttLotusCardParam);
      if(FALSE == bResult) return;
      //驗(yàn)證密碼
      bResult =LotusCardAuthentication(hLotusCard, AM_A, 0, &sttLotusCardParam);
      if(FALSE == bResult) return;
      //讀
      bResult=LotusCardRead(hLotusCard, 2, &sttLotusCardParam);
      if(FALSE == bResult) return;
      //寫(xiě)
      memset(&sttLotusCardParam.arrBuffer, 0x00, sizeof(sttLotusCardParam.arrBuffer));
      sttLotusCardParam.arrBuffer[0] = 0x00;
      sttLotusCardParam.arrBuffer[1] = 0x01;
      sttLotusCardParam.arrBuffer[2] = 0x02;
      sttLotusCardParam.arrBuffer[3] = 0x03;
      sttLotusCardParam.arrBuffer[4] = 0x04;
      sttLotusCardParam.arrBuffer[5] = 0x05;
      sttLotusCardParam.arrBuffer[6] = 0x06;
      sttLotusCardParam.arrBuffer[7] = 0x07;
      sttLotusCardParam.arrBuffer[8] = 0x08;
      sttLotusCardParam.arrBuffer[9] = 0x09;
      sttLotusCardParam.arrBuffer[10] = 0x0a;
      sttLotusCardParam.arrBuffer[11] = 0x0b;
      sttLotusCardParam.arrBuffer[12] = 0x0c;
      sttLotusCardParam.arrBuffer[13] = 0x0d;
      sttLotusCardParam.arrBuffer[14] = 0x0e;
      sttLotusCardParam.arrBuffer[15] = 0x0f;
      sttLotusCardParam.nBufferSize=16;
      bResult=LotusCardWrite(hLotusCard, 2, &sttLotusCardParam);
      if(FALSE == bResult) return;
      bResult = LotusCardInitValue(hLotusCard, 2, 10);
      if(FALSE == bResult) return;
      printf("初始化值成功!\r\n");
      //減值
      bResult=LotusCardDecrement(hLotusCard, 2, 1);
      if(FALSE == bResult) return;
      printf("減值成功!\r\b");
/*      //中止
      bResult=LotusCardHalt(hLotusCard);
      if(FALSE == bResult) return;*/

以上內(nèi)容是非接觸式IC卡讀寫(xiě)器在QT平臺(tái)的讀寫(xiě)范例,用戶在開(kāi)發(fā)過(guò)程中如有技術(shù)問(wèn)題,請(qǐng)聯(lián)系我們。

發(fā)表評(píng)論
評(píng)論通過(guò)審核后顯示。
熱門(mén)文章推薦
關(guān)于PSAM卡、SAM卡、SIM卡的特征和區(qū)別 2019-03-22 由于人們對(duì)PSAM卡、SAM卡、SIM卡的概念理解不到位加之很少仔細(xì)的對(duì)PSAM卡、SAM卡、SIM卡實(shí)物進(jìn)行區(qū)別,容易將PSAM卡、SAM卡、SIM卡混為一談。諾塔斯智能科技就PSAM卡、SAM卡、SIM卡三者特征和作用進(jìn)行介紹,幫助大家對(duì)PSAM卡、SAM卡、SIM卡進(jìn)行深刻的認(rèn)識(shí)和區(qū)分。
M1卡常見(jiàn)問(wèn)題和處理方法 2019-02-21 M1卡是恩智浦出品的芯片縮寫(xiě),全稱為NXP Mifare1系列,常用的有S50及S70兩種型號(hào),截止到2013年11月4日,已經(jīng)有國(guó)產(chǎn)芯片與其兼容,利用PVC封裝M1芯片、感應(yīng)天線,然后壓制成型后而制作的卡即是智能卡行業(yè)所說(shuō)的M1卡。M1卡的優(yōu)點(diǎn)是可讀可寫(xiě)的多功能卡,缺點(diǎn)是:價(jià)格稍貴,感應(yīng)距離短,目前適合非定額消費(fèi)系統(tǒng)、停車(chē)場(chǎng)系統(tǒng)、門(mén)禁考勤系統(tǒng)等,目前應(yīng)用最廣泛的非接觸式IC卡。
NFC數(shù)據(jù)交換格式(NDEF)規(guī)范 2019-05-28 為實(shí)現(xiàn)標(biāo)簽和NFC設(shè)備,及NFC設(shè)備之間的交互通信,NFC論壇定義了稱為NFC數(shù)據(jù)交換格式(NDEF)的通用數(shù)據(jù)格式。 NDEF是輕量級(jí)的緊湊的二進(jìn)制格式,可帶有URL,vCard和NFC定義的各種數(shù)據(jù)類型。
非接觸式IC卡(M1卡)區(qū)塊讀寫(xiě)控制 2019-02-21 非接觸式IC卡系列中的Mifare One (M1卡)的優(yōu)點(diǎn)是可讀可寫(xiě)的多功能卡,缺點(diǎn)是:價(jià)格稍貴,感應(yīng)距離短,目前適合非定額消費(fèi)系統(tǒng)、停車(chē)場(chǎng)系統(tǒng)、門(mén)禁考勤系統(tǒng)等,目前應(yīng)用最廣泛的 非接觸式IC卡。諾塔斯智能科技專業(yè)從事非接觸式IC卡讀寫(xiě)器的研發(fā)與銷售,為各行業(yè)用戶提供專業(yè)的IC卡系統(tǒng)解決方案。
聯(lián)系我們
聯(lián)系人: 張經(jīng)理
電話: 400-023-6659
傳真: 023-68798110
Email: 843718693@qq.com
QQ: 843718693
微信: Lotus-Smart
微博: lotusreader
旺旺: 諾塔斯智能科技有限公司
地址: 重慶市江北區(qū)宏帆路36號(hào)宏帆天地1棟6樓
  • 諾塔斯智能科技在線客服
    在線客服
  • 重慶諾塔斯智能科技有限公司微信公眾號(hào)
    關(guān)注微信
  • 諾塔斯智能科技網(wǎng)上商城
    網(wǎng)上商城
移動(dòng)訪問(wèn)
主站蜘蛛池模板: 天天天狠天天碰天天爱| 亚洲狠狠成人网| 天天天天做夜夜夜做| 精产国品一区二区三产区| 国产尤物av尤物在线观看| 午夜高清国产拍精品福利| 99久久国语露脸精品国产色| 337p人体粉嫩胞高清视频| 亚洲国产精品成人无码区| 国产精品人人做人人爽人人添| 亚洲精品国偷自产在线99人热| 影音先锋中文无码一区| 亚洲成在人线aⅴ免费毛片| 亚洲另类激情专区小说| 无码欧亚熟妇人妻av在线外遇| 国产内射老熟女aaaa∵| 亚洲女女女同性video| 精品国产男人的天堂久久 | 成人免费午夜性大片| 中文字幕人成无码人妻综合社区| 国产深夜男女无套内射| 国产成人免费一区二区三区| 久久亚洲a片com人成| 99久久精品费精品国产一区二| 亚洲亚洲人成网站网址| 日本亚洲中文字幕不卡| 天码人妻一区二区三区| 四虎国产精品一区二区 | 久久国产福利国产秒拍飘飘网| 极品熟妇大蝴蝶20p| 欧美精品亚洲精品日韩已满十八| 最新精品香蕉在线| 免费拍拍拍网站| 久久精品国产一区二区无码 | 国内精品自线一区二区三区| 国产精品无码一区二区在线观一| 韩国无码一区二区三区免费视频| 少妇中文字幕乱码亚洲影视| 日本精品久久久久中文字幕| 性男女做视频观看网站| 久久中文字幕人妻熟女凤间|