<fieldset id="drb0p"><optgroup id="drb0p"><mark id="drb0p"></mark></optgroup></fieldset>
<fieldset id="drb0p"></fieldset>
<center id="drb0p"></center>
<samp id="drb0p"></samp>
  • 国内精品久久久久久中文字幕_人妻少妇精品无码专区二区_蜜臀AV人妻久久无码精品麻豆_99精品国产一区二区三区_国内精品久久久久久TV

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

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

    首先我們需要認識一下,什么是QT。

    是一個1991年由Qt Company開發(fā)的跨平臺C++圖形用戶界面應用程序開發(fā)框架。它既可以開發(fā)GUI程序,也可用于開發(fā)非GUI程序,比如控制臺工具和服務器。Qt是面向?qū)ο蟮目蚣?,使用特殊的代碼生成擴展(稱為元對象編譯器(Meta Object Compiler, moc))以及一些宏,Qt很容易擴展,并且允許真正地組件編程。

    QT平臺

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

    第一,我們需要導入 我們定義的頭文件,#include "LotusCardDriver.h",這個里面做了一些相關定義,具體請參考開發(fā)范例源文件。

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

    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;
    }


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

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

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

    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;
          //獲取卡號 同執(zhí)行下面三個函數(shù)
          memset(&sttLotusCardParam, 0x00, sizeof(sttLotusCardParam));
          bResult = LotusCardGetCardNo(hLotusCard,nRequestType, &sttLotusCardParam);
          if(FALSE == bResult) return;
          memcpy(&nCardNo, sttLotusCardParam.arrCardNo, 4);
          printf("卡號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;
          //驗證密碼
          bResult =LotusCardAuthentication(hLotusCard, AM_A, 0, &sttLotusCardParam);
          if(FALSE == bResult) return;
          //讀
          bResult=LotusCardRead(hLotusCard, 2, &sttLotusCardParam);
          if(FALSE == bResult) return;
          //寫
          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卡讀寫器在QT平臺的讀寫范例,用戶在開發(fā)過程中如有技術問題,請聯(lián)系我們。

    發(fā)表評論
    評論通過審核后顯示。
    熱門文章推薦
    關于PSAM卡、SAM卡、SIM卡的特征和區(qū)別 2019-03-22 由于人們對PSAM卡、SAM卡、SIM卡的概念理解不到位加之很少仔細的對PSAM卡、SAM卡、SIM卡實物進行區(qū)別,容易將PSAM卡、SAM卡、SIM卡混為一談。諾塔斯智能科技就PSAM卡、SAM卡、SIM卡三者特征和作用進行介紹,幫助大家對PSAM卡、SAM卡、SIM卡進行深刻的認識和區(qū)分。
    M1卡常見問題和處理方法 2019-02-21 M1卡是恩智浦出品的芯片縮寫,全稱為NXP Mifare1系列,常用的有S50及S70兩種型號,截止到2013年11月4日,已經(jīng)有國產(chǎn)芯片與其兼容,利用PVC封裝M1芯片、感應天線,然后壓制成型后而制作的卡即是智能卡行業(yè)所說的M1卡。M1卡的優(yōu)點是可讀可寫的多功能卡,缺點是:價格稍貴,感應距離短,目前適合非定額消費系統(tǒng)、停車場系統(tǒng)、門禁考勤系統(tǒng)等,目前應用最廣泛的非接觸式IC卡。
    NFC數(shù)據(jù)交換格式(NDEF)規(guī)范 2019-05-28 為實現(xiàn)標簽和NFC設備,及NFC設備之間的交互通信,NFC論壇定義了稱為NFC數(shù)據(jù)交換格式(NDEF)的通用數(shù)據(jù)格式。 NDEF是輕量級的緊湊的二進制格式,可帶有URL,vCard和NFC定義的各種數(shù)據(jù)類型。
    非接觸式IC卡(M1卡)區(qū)塊讀寫控制 2019-02-21 非接觸式IC卡系列中的Mifare One (M1卡)的優(yōu)點是可讀可寫的多功能卡,缺點是:價格稍貴,感應距離短,目前適合非定額消費系統(tǒng)、停車場系統(tǒng)、門禁考勤系統(tǒng)等,目前應用最廣泛的 非接觸式IC卡。諾塔斯智能科技專業(yè)從事非接觸式IC卡讀寫器的研發(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號宏帆天地1棟6樓
    • 諾塔斯智能科技在線客服
      在線客服
    • 重慶諾塔斯智能科技有限公司微信公眾號
      關注微信
    • 諾塔斯智能科技網(wǎng)上商城
      網(wǎng)上商城
    移動訪問
    日本添下边视频全过程_人妻少妇精品无码专区二区_蜜臀AV人妻久久无码精品麻豆_99精品国产一区二区三区
    <fieldset id="drb0p"><optgroup id="drb0p"><mark id="drb0p"></mark></optgroup></fieldset>
    <fieldset id="drb0p"></fieldset>
    <center id="drb0p"></center>
    <samp id="drb0p"></samp>