国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

USB免驅全協議IC卡讀寫器 QT程序開發

鄒振豪 ? 來源:jf_51178285 ? 作者:jf_51178285 ? 2024-12-30 17:42 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

讀取15693卡,IC讀卡器如下入所示:

wKgZO2dyUOaARt_lAAF-jDWrM_U145.png

15693卡片,通常指的是符合ISO/IEC 15693標準的非接觸式智能卡或RFID卡。以下是對15693卡片的詳細介紹:

一、基本概述
15693卡片是基于ISO/IEC 15693國際標準設計的非接觸式智能卡,該標準定義了用于非接觸式集成電路卡(即RFID卡)的物理特性、初始化及防沖突方法、傳輸協議以及傳輸規范。這種卡片通常用于門禁系統、圖書管理、身份識別、物流追蹤等多種應用場景。

二、技術特點
工作頻率:15693卡片通常工作在13.56MHz的高頻頻段,這是RFID技術中常用的一個頻段,具有較遠的讀寫距離和較高的數據傳輸速率。
存儲容量:根據卡片類型和芯片的不同,15693卡片的存儲容量會有所差異。一些卡片可能具有較小的存儲容量,如幾百字節,而一些高級卡片則可能具有更大的存儲容量,以滿足更復雜的應用需求。
數據傳輸:15693卡片采用非接觸式的數據傳輸方式,讀寫器通過發射電磁波來激活卡片,并與卡片進行數據傳輸。這種傳輸方式具有快速、準確、可靠的特點。
安全性:15693卡片通常具有多種安全機制,如密碼保護、數據加密等,以確保卡片數據的安全性和完整性。這些安全機制可以有效地防止非法讀寫和數據篡改。
三、應用場景
門禁系統:15693卡片可以作為門禁系統的身份識別工具,用于控制進出特定區域的權限。
圖書管理:在圖書館中,15693卡片可以用于借閱證、讀者證等,方便讀者借閱圖書和管理個人信息。
身份識別:15693卡片還可以用于身份識別,如企業員工證、學生證等,用于驗證身份和權限。
物流追蹤:在物流領域,15693卡片可以用于追蹤貨物的運輸狀態和位置信息,提高物流管理的效率和準確性。
四、市場現狀與發展趨勢
目前,隨著物聯網技術的快速發展和普及,15693卡片作為RFID技術的重要組成部分,在各個領域得到了廣泛的應用。未來,隨著技術的不斷進步和應用場景的不斷拓展,15693卡片的市場需求將會持續增長。同時,隨著人們對數據安全性的要求越來越高,15693卡片的安全機制也將不斷完善,以更好地滿足市場需求。

綜上所述,15693卡片作為一種重要的非接觸式智能卡或RFID卡,在各個領域具有廣泛的應用前景和發展潛力。

QT小程序頁面:

wKgZO2dyabeAckGZAAC-Wk95-ow300.png

QT代碼:

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);
}
 
MainWindow::~MainWindow()
{
    delete ui;
}
 
 
void MainWindow::on_pb_beep_clicked()
{
    if(!checkdllos()){return;}      //判斷運行目錄內動態庫文件是否存在
 
    unsigned char status;
    status = mypcdbeep(30);
    if(status==0){
    }
    else
    {
        disperrinf(status);
    }
}
 
 
void MainWindow::on_pb_getdevnum_clicked()
{
    if(!checkdllos()){return;}      //判斷運行目錄內動態庫文件是否存在
 
    unsigned char devicenumber[4];
    unsigned char status;
    status = mypcdgetdevicenumber(devicenumber);
    if(status==0){
        mypcdbeep(30);
        QMessageBox::information(NULL, "提示", QString::asprintf("設備編號:%03d-%03d-%03d-%03d", devicenumber[0],devicenumber[1],devicenumber[2],devicenumber[3]));
    }
    else
    {
        disperrinf(status);
    }
}
 
 
void MainWindow::on_pb_easyread_clicked()
{
    if(!checkdllos()){return;}      //判斷運行目錄內動態庫文件是否存在
 
    unsigned char status;
    unsigned char ctrlword=0x00;    //讀任何卡,不需指定卡號,讀完后不靜止該卡,可賦值NEEDSERIAL及NEEDHALT的組合模式,或為0
    unsigned char afi;
    unsigned char myuid[8];
    unsigned char startblock;
    unsigned char blocknum;
    unsigned char piccdatabuf[255];
 
    ui->lineEdit_uid->setText("");
    ui->plainTextEdit_data->setPlainText("");
 
    QString afistr=ui->lineEdit_afi->text().trimmed();
    if(afistr.length()==2 and checkinput(afistr)){
        bool ok;
        afi=afistr.toInt(&ok,16);
    }else{
        QMessageBox::critical(NULL, "提示","請輸入2位16進制AFI!");
        ui->lineEdit_afi->setFocus();
        return;
    }
 
    startblock=ui->spinBox_star->value();
    blocknum=ui->spinBox_num->value();
 
    if(blocknum>12){
        QMessageBox::critical(NULL, "提示","一次最多只能讀取12塊數據!");
        return;
    }
 
    status = myiso15693readex(ctrlword,afi,startblock,blocknum,myuid,piccdatabuf);
    if(status==0){
        mypcdbeep(30);
        QString uidstr="";
        for(int i=0;ilineEdit_uid->setText(uidstr);
        QString datastr="";
        for(int i=1;i<=piccdatabuf[0];i++){
            datastr=datastr+QString::asprintf("%02X ", piccdatabuf[i]);
        }
        ui-?>plainTextEdit_data->setPlainText(datastr);
        QMessageBox::information(NULL, "提示", "讀卡成功,卡片UID:"+uidstr);
    }
    else
    {
        if(status==46){
            QString uidstr="";
            for(int i=0;ilineEdit_uid->setText(uidstr);
            QMessageBox::information(NULL, "提示", "本次讀取的塊數超過卡片允許的一次讀取最多塊數,讀取卡片UID:"+uidstr);
        }else{
            disperrinf(status);
        }
    }
}
 
 
void MainWindow::on_pb_easywrite_clicked()
{
    if(!checkdllos()){return;}      //判斷運行目錄內動態庫文件是否存在
 
    unsigned char status;
    unsigned char ctrlword=0x00;    //讀任何卡,不需指定卡號,讀完后不靜止該卡,可賦值NEEDSERIAL及NEEDHALT的組合模式,或為0
    unsigned char afi=0x00;
    unsigned char myuid[8];
    unsigned char startblock;
    unsigned char blocknum;
    unsigned char piccdatabuf[255];
    unsigned char eachblocksize;
 
    ui->lineEdit_uid->setText("");
 
    QString afistr=ui->lineEdit_afi->text().trimmed();
    if(afistr.length()==2 and checkinput(afistr)){
        bool ok;
        afi=afistr.toInt(&ok,16);
    }else{
        QMessageBox::critical(NULL, "提示","請輸入2位16進制AFI!");
        return;
    }
 
    startblock=ui->spinBox_star->value();
    blocknum=ui->spinBox_num->value();
 
    if(blocknum>12){
        QMessageBox::critical(NULL, "提示","一次最多只能寫12塊數據!");
        return;
    }
 
    switch(ui->comboBox_cardtype->currentIndex()){
    case 0:
        eachblocksize=4;
        break;
    case 1:
        eachblocksize=8;
        break;
    default:
        eachblocksize=32;
        break;
    }
 
    piccdatabuf[0]=blocknum*eachblocksize;
 
    //檢測寫卡數據
    QChar ch;
    QString writinf = ui->plainTextEdit_data->toPlainText().trimmed();
    QString writinf1 = "";
    int m = 1;
    int n = 0;
    char s;
 
    if(writinf.length()plainTextEdit_data->setFocus();
        return;
    }
 
    ch = writinf.at(0);
    s = writinf.at(0).toLatin1();
    for(int i=0; i=49){
                    break;
                }
            }
        }
        else if(s == ' '){
 
        }
        else
        {
            QMessageBox::critical(NULL, "提示", "寫卡數據錯誤,請輸入正確的16進制數據!");
            ui->plainTextEdit_data->setFocus();
            return;
        }
    }
 
    if(m<=piccdatabuf[0]){
        QMessageBox::critical(NULL, "提示", "寫卡數據不足,請輸入"+QString::asprintf("錯誤代碼:%d", piccdatabuf[0])+"個字節16進制數據!");
        ui-?>plainTextEdit_data->setFocus();
        return;
    }
 
    status = myiso15693writeex(ctrlword,afi,startblock,blocknum,myuid,piccdatabuf);
 
    if(status==0){
        mypcdbeep(30);
        QString uidstr="";
        for(int i=0;ilineEdit_uid->setText(uidstr);
        QMessageBox::information(NULL, "提示", "寫卡成功,卡片UID:"+uidstr);
    }
    else
    {
        if(status==45){
            QString uidstr="";
            for(int i=0;ilineEdit_uid->setText(uidstr);
            QMessageBox::information(NULL, "提示", "每塊字節數選錯,卡片UID:"+uidstr);
        }else{
            disperrinf(status);
        }
    }
}
 
 
void MainWindow::on_pb_search1_clicked()
{
    if(!checkdllos()){return;}      //判斷運行目錄內動態庫文件是否存在
 
    unsigned char status;
    unsigned char flags;
    unsigned char afi;
    unsigned char maskuid[8];   //卡號掩碼,一般可以不理這個參數
    unsigned char masklen;
    unsigned char uid[9];
 
    ui->lineEdit_uid->setText("");
 
    ui->lineEdit_flags->setText("36");
    flags=54;
 
    QString afistr=ui->lineEdit_afi->text().trimmed();
    if(afistr.length()==2 and checkinput(afistr)){
        bool ok;
        afi=afistr.toInt(&ok,16);
    }else{
        QMessageBox::critical(NULL, "提示","請輸入2位16進制AFI!");
        return;
    }
 
    QString masklstr=ui->lineEdit_masklen->text().trimmed();
    if(masklstr.length()==2 and checkinput(masklstr)){
        bool ok;
        masklen=masklstr.toInt(&ok,16);
    }else{
        QMessageBox::critical(NULL, "提示","請輸入2位16進制掩碼長度!");
        return;
    }
 
    status = myiso15693inventory(flags, afi, masklen, maskuid, uid);
    if(status==0){
        mypcdbeep(30);
        ui->lineEdit_dsfid->setText(QString::asprintf("%02X", uid[0]));
        QString uidstr="";
        for(int i=1;ilineEdit_uid->setText(uidstr);
    }else{
        disperrinf(status);
    }
}
 
 
void MainWindow::on_pb_searchall_clicked()
{
    if(!checkdllos()){return;}      //判斷運行目錄內動態庫文件是否存在
 
    unsigned char status;
    unsigned char flags;
    unsigned char afi;
    unsigned char maskuid[8];   //卡號掩碼,一般可以不理這個參數
    unsigned char masklen;
    unsigned char uid[9];
    unsigned char revlen[1];
 
    ui->lineEdit_uid->setText("");
    ui->comboBox_uid->clear();
 
    ui->lineEdit_flags->setText("16");
    flags=22;
 
    QString afistr=ui->lineEdit_afi->text().trimmed();
    if(afistr.length()==2 and checkinput(afistr)){
        bool ok;
        afi=afistr.toInt(&ok,16);
    }else{
        QMessageBox::critical(NULL, "提示","請輸入2位16進制AFI!");
        ui->lineEdit_afi->setFocus();
        return;
    }
 
    QString masklstr=ui->lineEdit_masklen->text().trimmed();
    if(masklstr.length()==2 and checkinput(masklstr)){
        bool ok;
        masklen=masklstr.toInt(&ok,16);
    }else{
        QMessageBox::critical(NULL, "提示","請輸入2位16進制掩碼長度!");
        return;
    }
 
    status = myiso15693inventory16(flags, afi, masklen, maskuid,revlen, uid);
    if(status==0){
        mypcdbeep(30);
        ui->lineEdit_dsfid->setText(QString::asprintf("%02X", uid[0]));
        QString uidstr="";
        for(int i=1;ilineEdit_uid->setText(uidstr);
 
//        QStringList strlist;
 
        int j=0;
        while (jcomboBox_uid->addItem(cardinfstr);
            j=j+9;
        }
//        model = new QStringListModel(strlist);      //QStringListModel將QStringList包裝了起來
//        ui->listView->setModel(model);              //填充到listview
//        ui->listView->setEditTriggers(QAbstractItemView::NoEditTriggers);  //設置item內容不可編輯
    }else{
        disperrinf(status);
    }
}
 
 
void MainWindow::on_pb_quiet_clicked()
{
    if(!checkdllos()){return;}      //判斷運行目錄內動態庫文件是否存在
 
    unsigned char status;
    unsigned char flags;
    unsigned char uid[8];
 
    ui->lineEdit_flags->setText("22");
    flags=34;
 
    QString uidstr=ui->lineEdit_uid->text().trimmed();
    if(uidstr.length()==16 and checkinput(uidstr)){
        bool ok;
        for(int i=0;ilineEdit_uid->setFocus();
        return;
    }
 
    status = myiso15693stayquiet(flags, uid);
    if(status==0){
        mypcdbeep(30);
        QMessageBox::information(NULL, "提示", "操作成功,卡片已靜止!");
    }else{
        if(status==40){
            QMessageBox::critical(NULL, "提示","使卡進入靜止(Quiet)狀態失敗!");
        }else{
            disperrinf(status);
        }
    }
}
 
 
void MainWindow::on_pb_select_clicked()
{
    if(!checkdllos()){return;}      //判斷運行目錄內動態庫文件是否存在
 
    unsigned char status;
    unsigned char flags;
    unsigned char uid[8];
 
    ui->lineEdit_flags->setText("22");
    flags=34;
 
    QString uidstr=ui->lineEdit_uid->text().trimmed();
    if(uidstr.length()==16 and checkinput(uidstr)){
        bool ok;
        for(int i=0;ilineEdit_uid->setFocus();
        return;
    }
 
    status = myiso15693Select(flags, uid);
    if(status==0){
        mypcdbeep(30);
        QMessageBox::information(NULL, "提示", "操作成功,卡片已在選中狀態!");
    }else{
        if(status==41){
            QMessageBox::critical(NULL, "提示","使卡進入選中狀態失敗!");
        }else{
            disperrinf(status);
        }
    }
}
 
 
void MainWindow::on_pb_restare_clicked()
{
    if(!checkdllos()){return;}      //判斷運行目錄內動態庫文件是否存在
 
    unsigned char status;
    unsigned char flags;
    unsigned char uid[8];
 
    ui->lineEdit_flags->setText("22");
    flags=34;
 
    QString uidstr=ui->lineEdit_uid->text().trimmed();
    if(uidstr.length()==16 and checkinput(uidstr)){
        bool ok;
        for(int i=0;ilineEdit_uid->setFocus();
        return;
    }
 
    status = myiso15693resettoready(flags, uid);
    if(status==0){
        mypcdbeep(30);
        QMessageBox::information(NULL, "提示", "操作成功,卡片已從靜止中重起到準備狀態!");
    }else{
        if(status==42){
            QMessageBox::critical(NULL, "提示","讓卡從靜止中重起準備失敗!");
        }else{
            disperrinf(status);
        }
    }
}
 
 
void MainWindow::on_pb_afi_clicked()
{
    if(!checkdllos()){return;}      //判斷運行目錄內動態庫文件是否存在
 
    unsigned char status;
    unsigned char flags;
    unsigned char afi;
    unsigned char uid[8];
 
    ui->lineEdit_flags->setText("22");
    flags=34;
 
    QString afistr=ui->lineEdit_afi->text().trimmed();
    if(afistr.length()==2 and checkinput(afistr)){
        bool ok;
        afi=afistr.toInt(&ok,16);
    }else{
        QMessageBox::critical(NULL, "提示","請輸入2位16進制AFI!");
        ui->lineEdit_afi->setFocus();
        return;
    }
 
    QString uidstr=ui->lineEdit_uid->text().trimmed();
    if(uidstr.length()==16 and checkinput(uidstr)){
        bool ok;
        for(int i=0;ilineEdit_uid->setFocus();
        return;
    }
 
    status = myiso15693writeafi(flags, afi,uid);
    if(status==0){
        mypcdbeep(30);
        QMessageBox::information(NULL, "提示", "寫AIF操作成功!");
    }else{
        if(status==46){
            QMessageBox::critical(NULL, "提示","寫AIF操作失敗!");
        }else{
            disperrinf(status);
        }
    }
}
 
 
void MainWindow::on_pb_dsfid_clicked()
{
    if(!checkdllos()){return;}      //判斷運行目錄內動態庫文件是否存在
 
    unsigned char status;
    unsigned char flags;
    unsigned char dsfid;
    unsigned char uid[8];
 
    ui->lineEdit_flags->setText("22");
    flags=34;
 
    QString dsfidstr=ui->lineEdit_dsfid->text().trimmed();
    if(dsfidstr.length()==2 and checkinput(dsfidstr)){
        bool ok;
        dsfid=dsfidstr.toInt(&ok,16);
    }else{
        QMessageBox::critical(NULL, "提示","請輸入2位16進制dsfid!");
        ui->lineEdit_dsfid->setFocus();
        return;
    }
 
    QString uidstr=ui->lineEdit_uid->text().trimmed();
    if(uidstr.length()==16 and checkinput(uidstr)){
        bool ok;
        for(int i=0;ilineEdit_uid->setFocus();
        return;
    }
 
    status = myiso15693writedsfid(flags, dsfid,uid);
    if(status==0){
        mypcdbeep(30);
        QMessageBox::information(NULL, "提示", "寫DSFID操作成功!");
    }else{
        if(status==41){
            QMessageBox::critical(NULL, "提示","寫DSFID操作失敗!");
        }else{
            disperrinf(status);
        }
    }
}
 
 
void MainWindow::on_pb_systeminf_clicked()
{
    if(!checkdllos()){return;}      //判斷運行目錄內動態庫文件是否存在
 
    unsigned char status;
    unsigned char flags;
    unsigned char uid[8];
    unsigned char revlen[1];
    unsigned char revbuf[255];
 
    ui->plainTextEdit_data->setPlainText("");
 
    ui->lineEdit_flags->setText("22");
    flags=34;
 
    QString uidstr=ui->lineEdit_uid->text().trimmed();
    if(uidstr.length()==16 and checkinput(uidstr)){
        bool ok;
        for(int i=0;ilineEdit_uid->setFocus();
        return;
    }
 
    status = myiso15693readinfo(flags, uid,revlen,revbuf);
    if(status==0){
        mypcdbeep(30);
        int j=0;
        QString cardinfstr="";
        while (jplainTextEdit_data->setPlainText(cardinfstr);
        QMessageBox::information(NULL, "提示", "讀取卡片系統信息成功!");
    }else{
        disperrinf(status);
    }
}
 
 
void MainWindow::on_pb_secure_clicked()
{
    if(!checkdllos()){return;}      //判斷運行目錄內動態庫文件是否存在
 
    unsigned char status;
    unsigned char flags;
    unsigned char startblock;
    unsigned char blocknum;
    unsigned char uid[8];
    unsigned char revlen[1];
    unsigned char revbuf[255];
 
    ui->plainTextEdit_data->setPlainText("");
 
    ui->lineEdit_flags->setText("22");
    flags=34;
 
    startblock=ui->spinBox_star->value();
    blocknum=ui->spinBox_num->value();
 
    QString uidstr=ui->lineEdit_uid->text().trimmed();
    if(uidstr.length()==16 and checkinput(uidstr)){
        bool ok;
        for(int i=0;ilineEdit_uid->setFocus();
        return;
    }
 
    status = myiso15693readsecuritystate(flags, startblock,blocknum,uid,revlen,revbuf);
    if(status==0){
        mypcdbeep(30);
        int j=0;
        QString cardinfstr="";
        while (jplainTextEdit_data->setPlainText(cardinfstr);
        QMessageBox::information(NULL, "提示", "讀取卡片系統信息成功!");
    }else{
        disperrinf(status);
    }
}
 
 
void MainWindow::on_pb_lockafi_clicked()
{
    if(!checkdllos()){return;}      //判斷運行目錄內動態庫文件是否存在
 
    int answ=QMessageBox::question (this, "警告", "你確定要鎖定卡片的AFI嗎 ?鎖定后不可以再次修改!", QMessageBox::Ok, QMessageBox::Cancel);
    if (answ ==1024){
        unsigned char status;
        unsigned char flags;
        unsigned char uid[8];
 
        ui->lineEdit_flags->setText("22");
        flags=34;
 
        QString uidstr=ui->lineEdit_uid->text().trimmed();
        if(uidstr.length()==16 and checkinput(uidstr)){
            bool ok;
            for(int i=0;ilineEdit_uid->setFocus();
            return;
        }
 
        status = myiso15693lockafi(flags, uid);
        if(status==0){
            mypcdbeep(30);
            QMessageBox::information(NULL, "提示", "鎖AFI操作成功!");
        }else{
            disperrinf(status);
        }
    }
}
 
 
void MainWindow::on_pb_lockdsfid_clicked()
{
    if(!checkdllos()){return;}      //判斷運行目錄內動態庫文件是否存在
 
    int answ=QMessageBox::question (this, "警告", "你確定要鎖定卡片的DSFID嗎 ?鎖定后不可以再次修改!", QMessageBox::Ok, QMessageBox::Cancel);
    if (answ ==1024){
        unsigned char status;
        unsigned char flags;
        unsigned char uid[8];
 
        ui->lineEdit_flags->setText("22");
        flags=34;
 
        QString uidstr=ui->lineEdit_uid->text().trimmed();
        if(uidstr.length()==16 and checkinput(uidstr)){
            bool ok;
            for(int i=0;ilineEdit_uid->setFocus();
            return;
        }
 
        status = myiso15693lockdsfid(flags, uid);
        if(status==0){
            mypcdbeep(30);
            QMessageBox::information(NULL, "提示", "數據存儲格式標識DSFID鎖定成功!");
        }else{
            disperrinf(status);
        }
    }
}
 
 
void MainWindow::on_pb_lockdata_clicked()
{
    if(!checkdllos()){return;}      //判斷運行目錄內動態庫文件是否存在
 
    int answ=QMessageBox::question (this, "警告", "你確定要鎖定卡片的數據塊嗎 ?鎖定后不可以再次修改!", QMessageBox::Ok, QMessageBox::Cancel);
    if (answ ==1024){
        unsigned char status;
        unsigned char flags;
        unsigned char startblock;
        unsigned char uid[8];
 
        ui->lineEdit_flags->setText("22");
        flags=34;
 
        startblock=ui->spinBox_star->value();
 
        QString uidstr=ui->lineEdit_uid->text().trimmed();
        if(uidstr.length()==16 and checkinput(uidstr)){
            bool ok;
            for(int i=0;ilineEdit_uid->setFocus();
            return;
        }
 
        status = myiso15693lockblock(flags,startblock, uid);
        if(status==0){
            mypcdbeep(30);
            QMessageBox::information(NULL, "提示", "數據塊鎖定成功!");
        }else{
            disperrinf(status);
        }
    }
}
 
 
void MainWindow::on_pb_read_clicked()
{
    if(!checkdllos()){return;}      //判斷運行目錄內動態庫文件是否存在
 
    unsigned char status;
    unsigned char flags;
    unsigned char startblock;
    unsigned char blocknum;
    unsigned char uid[8];
    unsigned char revlen[1];
    unsigned char revbuf[255];
 
    ui->plainTextEdit_data->setPlainText("");
 
    ui->lineEdit_flags->setText("22");
    flags=34;
 
    startblock=ui->spinBox_star->value();
    blocknum=startblock+ui->spinBox_num->value();
 
    QString uidstr=ui->lineEdit_uid->text().trimmed();
    if(uidstr.length()==16 and checkinput(uidstr)){
        bool ok;
        for(int i=0;ilineEdit_uid->setFocus();
        return;
    }
 
    QString blockdata="";
    while (startblocklineEdit_afi->text().trimmed();
    if(afistr.length()==2 and checkinput(afistr)){
         bool ok;
         afi=afistr.toInt(&ok,16);
    }else{
         QMessageBox::critical(NULL, "提示","請輸入2位16進制AFI!");
         ui->lineEdit_afi->setFocus();
         return;
    }
 
    QString uidstr=ui->lineEdit_uid->text().trimmed();
    if(uidstr.length()==16 and checkinput(uidstr)){
         for(int i=0;ilineEdit_uid->setFocus();
         return;
    }
 
    if(myiso15693writeuid!=NULL){
        status = myiso15693writeuid(ctrlword,afi,olduid,newuid);
 
        if(status==0){
             mypcdbeep(30);
             QMessageBox::information(NULL, "提示", "寫卡成功,卡片UID:"+uidstr);
        }
        else
        {
             if(status==45){
                QMessageBox::critical(NULL, "提示", "寫UID失敗,此卡UID不可以改寫!");
             }else{
                disperrinf(status);
             }
        }
    }else{
        QMessageBox::critical(NULL, "提示", "myiso15693writeuid函數未正確載入!");
    }
}
 
審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • usb
    usb
    +關注

    關注

    60

    文章

    8438

    瀏覽量

    284434
  • 讀寫器
    +關注

    關注

    3

    文章

    754

    瀏覽量

    40637
  • Qt
    Qt
    +關注

    關注

    2

    文章

    320

    瀏覽量

    40852
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    工業RFID讀寫器,你知道哪幾種?#RFID讀寫器#三格電子

    讀寫器
    三格電子科技
    發布于 :2026年01月30日 17:11:42

    探索TRF7962A:13.56-MHz RFID讀寫器IC的卓越性能與應用潛力

    探索TRF7962A:13.56-MHz RFID讀寫器IC的卓越性能與應用潛力 在當今的電子技術領域,RFID(射頻識別)技術憑借其高效、便捷的特性,在眾多行業中得到了廣泛應用。而TI(德州儀器
    的頭像 發表于 01-27 14:20 ?137次閱讀

    三格電子—IO-link 協議高頻工業 RFID 讀寫器【SG-HF40-IOL】#RFID #IOLINK

    讀寫器
    jf_28362209
    發布于 :2026年01月27日 09:02:46

    探秘MFRC522:高效非接觸式讀寫器IC的全方位解析

    探秘MFRC522:高效非接觸式讀寫器IC的全方位解析 在當今的電子設備領域,非接觸式通信技術正發揮著越來越重要的作用。作為一名電子工程師,我最近深入研究了NXP Semiconductors推出
    的頭像 發表于 01-19 16:55 ?499次閱讀

    探秘TRF7960A:13.56-MHz RFID讀寫器IC的卓越之選

    探秘TRF7960A:13.56-MHz RFID讀寫器IC的卓越之選 在當今的科技領域,RFID(射頻識別)技術憑借其高效、便捷的數據識別與傳輸能力,在眾多行業中得到了廣泛應用。而TRF7960A
    的頭像 發表于 01-06 09:55 ?225次閱讀

    深入解析TRF7964A:13.56-MHz RFID讀寫器IC的卓越之選

    的TRF7964A多協議全集成13.56-MHz RFID讀寫器IC,以其強大的功能和出色的性能,成為眾多工程師的首選。下面就帶大家深入了解這款IC。 文件下載: trf7964a.p
    的頭像 發表于 01-06 09:15 ?370次閱讀

    什么是超高頻rfid讀寫設備,RFID讀寫器遠距離讀取能達到15米嗎?

    在物聯網技術飛速發展的當下,RFID讀寫器作為數據采集的核心設備,已廣泛滲透到生產生活的多個領域。其中,超高頻rfid讀寫器憑借獨特的性能優勢,成為物流、零售、制造等行業的“得力助手”。很多人會好
    的頭像 發表于 11-06 15:08 ?482次閱讀
    什么是超高頻rfid<b class='flag-5'>讀寫</b>設備,RFID<b class='flag-5'>讀寫器</b>遠距離讀取能達到15米嗎?

    SI523帶低功耗自動尋/非接觸式讀寫器替代MFRC523方案

    Si523是一個 13.56MHz 的非接觸式讀寫器芯片,支持 ISO/IEC 14443 A/B/MIFARE協議。內部集成低功耗自動尋與定時喚醒功能,可編程尋時間間隔,尋
    發表于 08-27 09:37

    IO-link協議高頻工業RFID讀寫器售后講解視頻#三格電子

    讀寫器
    三格電子科技
    發布于 :2025年08月01日 16:01:51

    IO-link協議高頻工業RFID讀寫器#三格電子

    讀寫器
    三格電子科技
    發布于 :2025年07月31日 11:15:31

    RFID高頻讀寫器選型方案

    選擇合適的RFID高頻讀寫器(13.56MHz)需綜合考慮協議兼容性、環境適應性、性能參數及應用場景。以下是系統化的選型方案,結合工業需求和技術參數: 一、核心選型維度 1. 協議與頻率 支持
    發表于 07-30 17:19

    讀寫器讀得到卻傳不出?耐達訊讓Modbus和Profinet網關“偷偷對話”

    兼容背。 誰沒遇過這種糟心事兒?RFID讀寫器大多用Modbus協議,而現代建筑的物料管理系統、智能倉儲平臺幾乎都跑在Profinet網絡上。想讓兩者“對話”,要么硬接線改程序,要么用轉換
    發表于 07-29 14:46

    三格電子丨IO-link 協議高頻工業 RFID 讀寫器

    ? IO-link 協議高頻工業 RFID 讀寫器 型號:SG-HF40-IOL 高頻工業讀寫器(RFID)產品用在自動化生產線, 自動化物流,重要資產管理 等情境下,在指定位置部署 RFID
    的頭像 發表于 07-07 14:35 ?715次閱讀
    三格電子丨IO-link <b class='flag-5'>協議</b>高頻工業 RFID <b class='flag-5'>讀寫器</b>

    東集RFID讀寫器有什么用

    :RFID讀寫器必須與RFID標簽遵循一定的通信協議,以確保數據交換的成功性和安全性,常見的協議有ISO/IEC 14443、ISO/IEC 15693等。二、RFID讀寫器的應用領域
    發表于 06-20 10:36

    高頻工業RFID讀寫器

    高頻工業RFID讀寫器 型號:SG-HF40-485、SG-HF40-TCP 產品功能 高頻工業讀寫器(RFID)產品用在自動化生產線,自動化分揀系統,零部件組裝產線等情境下,在自動化節點的工位上部
    的頭像 發表于 05-06 15:33 ?953次閱讀
    高頻工業RFID<b class='flag-5'>讀寫器</b>