RFID讀卡器寫數據塊腳本-KC07020304-a04_第1頁
RFID讀卡器寫數據塊腳本-KC07020304-a04_第2頁
RFID讀卡器寫數據塊腳本-KC07020304-a04_第3頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、RFID讀卡器寫數據塊腳本草稿序號腳步1同學們,大家好。今天我們繼續(xù)學習“學習模塊二 基于RFID的智能消費系統(tǒng)設備編程與實施”,本堂課的內容是“RFID讀寫器讀數據塊”。2在前面的教學內容中,我們創(chuàng)建了一個RFID測試程序,今天要學習的內容便是將RFID寫數據塊的操作添加到該程序中。3整個內容分成4部分,寫數據塊命令格式,寫數據塊命令代碼,寫數據塊響應格式,寫數據塊響應代碼。4首先介紹RFID讀卡器寫數據塊命令格式。5RFID讀卡器命令格式如圖,當命令字段CMD為MF_Write(0x21)時,讀卡器將進行集成尋卡,防沖突,選卡,驗證密碼,寫卡等操作,一個命令完成寫數據塊操作。6接下來,介紹

2、寫數據塊命令的附帶數據。附帶數據的第一個字節(jié)為讀取模式控制,該字節(jié)中比特0指示了請求模式為IDEL模式還是ALL模式,當比特0為0時為IDEL模式,當比特0為1時為ALL模式;比特1指示了采用密鑰A校驗還是密鑰B校驗,當比特1為0時對密鑰A進行校驗,當比特1為1時對密鑰B進行校驗。 7命令附帶數據的下一個字節(jié)為要寫入的塊數長度值,即寫多少塊。寫數據塊操作不能跨扇區(qū),因此取值范圍為01-048命令附帶數據的下一個字節(jié)為要寫入的塊的起始地址。Mifare1 S50卡片1K字節(jié)存儲共有16扇區(qū),每個扇區(qū)4個數據塊,共64個數據塊,因此數據塊的全局索引為0到639命令附帶數據的后6個字節(jié)為寫卡操作需要

3、的6字節(jié)密鑰,其中密鑰低字節(jié)先填充到命令中。10后續(xù)部分為需要寫入的數據塊的內容,長度為16字節(jié)的整數倍,與要寫入的數據塊數相對應11接下來我們介紹在寫數據塊的命令代碼具體實現(xiàn),在介紹代碼實現(xiàn)時,利用到前面創(chuàng)建的RFID測試程序項目。12在RFID測試程序界面編輯窗口雙擊“MF寫數據塊”按鈕,將添加該按鈕的鼠標點擊事件的響應函數,在該函數中將實現(xiàn)構造寫數據塊命令包并通過串口發(fā)送出去。首先申請一個字節(jié)數組用于存放構造的命令,定義整型變量idx標識填充位置索引,整型變量bcc便于計算校驗值13首先填充命令開始字節(jié)0x02和站點ID值,讀卡器應用在單機模式,因此站點ID值為0x00;然后填充寫數據塊

4、命令0x21,為了確定接收命令串口響應如何進行解析,因此把命令值記錄到窗口成員變量curr_cmd中.接下來填充命令附帶數據,附帶數據第一個字節(jié)DATA0為讀取模式控制,這里取0,表示Request Idle以及驗證密鑰A;下一個字節(jié)為寫入的數據塊數,這里假定每次只寫入一個數據塊,因此取值為1;下一個字節(jié)為寫入的數據塊起始地址,該數值由界面上扇區(qū)號和扇區(qū)內塊編號組合獲得。接下來的6個字節(jié)為訪問密鑰,該密鑰由文本框以十六進制格式輸入,字節(jié)與字節(jié)間通過空格分隔。14接下來需要放置將要寫入到數據塊的數據,該數據通過界面文本框獲得。由此可以知道命令以及命令相關數據字節(jié)數為26,所以將26填充到data

5、length字段。接下來通過整型變量bcc計算校驗字節(jié)的值,并轉換成字節(jié)類型填充到數據包中;最后填充命令包結束字節(jié),便可通過Write操作將命令包通過串口發(fā)送給RFID讀寫器15接下來介紹RFID讀卡器寫數據塊響應格式。16應用程序需要根據發(fā)送命令記錄curr_cmd來決定如何解析串口響應,當為curr_cmd為0x21寫數據塊命令時,進行寫數據塊響應解析。首先根據STATUS字段是否為0,推斷寫數據塊是否執(zhí)行正確,進行分別處理。17當STATUS為0時,表明寫數據塊操作執(zhí)行正確,接下來的4個字節(jié)為Mifare卡的卡號(其中低字節(jié)在前) 18當STATUS為1時,表明寫數據塊操作執(zhí)行錯誤,接下來的1個字節(jié)為參考錯誤代碼19最后介紹RFID讀卡器寫數據塊響應代碼20當計算機收到響應時,根據記錄命令變量curr_cmd若為0x21,則該響應為寫數據塊的響應,然后根據status字段數值來斷定寫數據塊操作執(zhí)行成功與否。21如果status為0,代表寫據塊操作執(zhí)行正確,那么接下來的4個字節(jié)為Mifare卡號,低字節(jié)在前,需要將卡號轉成16進制字符串顯示在界面窗口,并作相應寫卡成功提示。22如果status為1,代表寫據塊操作執(zhí)行錯去,那么接下來的1個字節(jié)為錯誤代碼,這里不需要對

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論