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

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小程序頁面:

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;i8;i++){ uidstr=uidstr+QString::asprintf("%02X", myuid[i]); } ui-?>lineEdit_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;i8;i++){ uidstr=uidstr+QString::asprintf("%02X", myuid[i]); } ui-?>lineEdit_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()1){ QMessageBox::critical(NULL, "提示", "請輸入正確的16進制寫卡數據!"); ui-?>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;i8;i++){ uidstr=uidstr+QString::asprintf("%02X", myuid[i]); } ui-?>lineEdit_uid->setText(uidstr); QMessageBox::information(NULL, "提示", "寫卡成功,卡片UID:"+uidstr); } else { if(status==45){ QString uidstr=""; for(int i=0;i8;i++){ uidstr=uidstr+QString::asprintf("%02X", myuid[i]); } ui-?>lineEdit_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;i9;i++){ uidstr=uidstr+QString::asprintf("%02X", uid[i]); } ui-?>lineEdit_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;i9;i++){ uidstr=uidstr+QString::asprintf("%02X", uid[i]); } ui-?>lineEdit_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;i8;i++){ uid[i]=QString(uidstr.mid(i*2,2)).toInt(&ok,16); } }else{ QMessageBox::critical(NULL, "提示","請先尋找卡片或輸入16位16進制UID!"); ui-?>lineEdit_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;i8;i++){ uid[i]=QString(uidstr.mid(i*2,2)).toInt(&ok,16); } }else{ QMessageBox::critical(NULL, "提示","請先尋找卡片或輸入16位16進制UID!"); ui-?>lineEdit_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;i8;i++){ uid[i]=QString(uidstr.mid(i*2,2)).toInt(&ok,16); } }else{ QMessageBox::critical(NULL, "提示","請先尋找卡片或輸入16位16進制UID!"); ui-?>lineEdit_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;i8;i++){ uid[i]=QString(uidstr.mid(i*2,2)).toInt(&ok,16); } }else{ QMessageBox::critical(NULL, "提示","請先尋找卡片或輸入16位16進制UID!"); ui-?>lineEdit_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;i8;i++){ uid[i]=QString(uidstr.mid(i*2,2)).toInt(&ok,16); } }else{ QMessageBox::critical(NULL, "提示","請先尋找卡片或輸入16位16進制UID!"); ui-?>lineEdit_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;i8;i++){ uid[i]=QString(uidstr.mid(i*2,2)).toInt(&ok,16); } }else{ QMessageBox::critical(NULL, "提示","請先尋找卡片或輸入16位16進制UID!"); ui-?>lineEdit_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;i8;i++){ uid[i]=QString(uidstr.mid(i*2,2)).toInt(&ok,16); } }else{ QMessageBox::critical(NULL, "提示","請先尋找卡片或輸入16位16進制UID!"); ui-?>lineEdit_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;i8;i++){ uid[i]=QString(uidstr.mid(i*2,2)).toInt(&ok,16); } }else{ QMessageBox::critical(NULL, "提示","請先尋找卡片或輸入16位16進制UID!"); ui-?>lineEdit_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;i8;i++){ uid[i]=QString(uidstr.mid(i*2,2)).toInt(&ok,16); } }else{ QMessageBox::critical(NULL, "提示","請先尋找卡片或輸入16位16進制UID!"); ui-?>lineEdit_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;i8;i++){ uid[i]=QString(uidstr.mid(i*2,2)).toInt(&ok,16); } }else{ QMessageBox::critical(NULL, "提示","請先尋找卡片或輸入16位16進制UID!"); ui-?>lineEdit_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;i8;i++){ uid[i]=QString(uidstr.mid(i*2,2)).toInt(&ok,16); } }else{ QMessageBox::critical(NULL, "提示","請先尋找卡片或輸入16位16進制UID!"); ui-?>lineEdit_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;i9;i++){ bool ok; newuid[i]=QString(uidstr.mid(i*2,2)).toInt(&ok,16); } }else{ QMessageBox::critical(NULL, "提示","請輸入16位16進制UID!"); ui-?>lineEdit_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
+關注
關注
60文章
8438瀏覽量
284434 -
讀寫器
+關注
關注
3文章
754瀏覽量
40637 -
Qt
+關注
關注
2文章
320瀏覽量
40852
發布評論請先 登錄
探索TRF7962A:13.56-MHz RFID讀寫器IC的卓越性能與應用潛力
探秘MFRC522:高效非接觸式讀寫器IC的全方位解析
探秘TRF7960A:13.56-MHz RFID讀寫器IC的卓越之選
深入解析TRF7964A:13.56-MHz RFID讀寫器IC的卓越之選
什么是超高頻rfid讀寫設備,RFID讀寫器遠距離讀取能達到15米嗎?
SI523帶低功耗自動尋卡/非接觸式讀寫器替代MFRC523方案
RFID高頻讀寫器選型方案
讀寫器讀得到卻傳不出?耐達訊讓Modbus和Profinet網關“偷偷對話”
三格電子丨IO-link 協議高頻工業 RFID 讀寫器
東集RFID讀寫器有什么用
高頻工業RFID讀寫器
USB免驅全協議IC卡讀寫器 QT程序開發
評論