RFID讀卡器串口協(xié)議腳本_第1頁
RFID讀卡器串口協(xié)議腳本_第2頁
RFID讀卡器串口協(xié)議腳本_第3頁
RFID讀卡器串口協(xié)議腳本_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、RFID讀寫器串口協(xié)議腳本草稿序號 腳步1 同學(xué)們,大家好。今天我們繼續(xù)學(xué)習(xí) “學(xué)習(xí)模塊二 基于RFID的智能消費(fèi)系統(tǒng)設(shè)備 編程與實(shí)施”,本堂課的內(nèi)容是“ RFID讀寫器串口協(xié)議”。2 在前面的教學(xué)內(nèi)容中,我們選用思遠(yuǎn)創(chuàng)智能設(shè)備 10系列高頻RFID全協(xié)議讀寫器通過RS232串口與計算機(jī)相連,配合相應(yīng)的數(shù)據(jù)庫以及智能消費(fèi)系統(tǒng)軟件構(gòu)成智能 消費(fèi)系統(tǒng)。那么計算機(jī)與讀寫器是如何交互的呢?這就是我們今天要學(xué)習(xí)的相關(guān) 內(nèi)容。3 今天我們學(xué)習(xí)內(nèi)容主要包括以下4個方面,串口參數(shù)設(shè)置、串口通信協(xié)議、測試程序創(chuàng)建、訪問串口代碼。4 先來看第一部分串口參數(shù)設(shè)置5 RFID讀寫器與計算機(jī)之間的 RS232通信屬于常

2、見的串行異步通信。串行通信是指其數(shù)據(jù)是逐個比特進(jìn)行傳輸,串行通信按照時鐘控制方式,可分成 異步通信和同步通信。異步通信是指數(shù)據(jù)以字符或者字節(jié)為單位組成字符幀傳送,靠起始位和停止位來 實(shí)現(xiàn)字符的界定或同步,收發(fā)兩端不需要嚴(yán)格同步,因此設(shè)備簡單而被廣泛采用。在通信線上沒有數(shù)據(jù)傳送時處于邏輯1狀態(tài),當(dāng)發(fā)送設(shè)備要發(fā)送一個字符數(shù)據(jù)時,首先發(fā)出一個邏輯“ 0”信號,這個邏輯低電平就是起始位,開始位表示字符傳送 開始。起始位發(fā)送結(jié)束后,發(fā)送數(shù)據(jù)位。數(shù)據(jù)位的個數(shù)可以是5, 6, 7或8,數(shù)據(jù)位從最低位開始傳輸。數(shù)據(jù)發(fā)送完之后,可以發(fā)送可選的奇偶校驗(yàn)位,用于差錯檢測;在奇偶校驗(yàn)位之后發(fā)送的是停止位,可以是1位、

3、1. 5位或2位,停止位一直為邏輯'1'狀態(tài)。停止位是一個字符數(shù)據(jù)的結(jié)束標(biāo)志。每一位占據(jù)一個固定的時間長度,每秒鐘可發(fā)送的位數(shù)為波特率。若要成功進(jìn)行通信,發(fā)送和接收雙方必須協(xié)商一致。6 RFID讀寫器所支持的串口參數(shù)設(shè)置如表所示,波特率和校驗(yàn)位有多種可選項(xiàng);默認(rèn)參數(shù)設(shè)置波特率為 9600 ,不包含校驗(yàn)位; 若需要設(shè)置其余參數(shù),需要發(fā)送命令到RFID讀寫器進(jìn)行串口設(shè)置更改。讀寫器和計算機(jī)兩端的串口設(shè)置相同的參數(shù)后,雙方便可通過串口實(shí)現(xiàn)數(shù)據(jù)收發(fā)。7 接下來介紹第2部分串口通信協(xié)議8 所謂串口通信協(xié)議,是指為了使得串口兩端的設(shè)備能夠理解對端發(fā)送過來數(shù)據(jù)的 含義,需要通信雙方共同遵循一

4、套規(guī)則包括計算機(jī)發(fā)送到讀寫器的命令包數(shù)據(jù)格式, 以及讀寫器返回到計算機(jī)中的響應(yīng)包的格式9首先看命令包格式;STX字段長1字節(jié),固定為0x02表征數(shù)據(jù)包開始;STATION 1方段長1字節(jié),用于計算機(jī)連接多個RFID讀寫器時區(qū)分讀寫器,單機(jī)模式取0x00DATA LENGTH段長1字節(jié),指定 CMD以及DATA部分的長度CMD字段 長1字節(jié),其包含了讀寫器需要執(zhí)行操作命令代號;DATA字段,放與CMD命令相關(guān)的數(shù)據(jù),其長度以及內(nèi)容與命令CMD相關(guān)BCC字段 長1字節(jié),用于數(shù)據(jù)包校驗(yàn),其值為數(shù)據(jù)包中除STX, ETX外所有字節(jié)的字節(jié)異或校驗(yàn)和。ETX字段 長1字節(jié),固定為0x03,表征數(shù)據(jù)包結(jié)束1

5、0然后看響應(yīng)包格式STX字段長1字節(jié),固定為0x02表征數(shù)據(jù)包開始;STATION ID?段長1字節(jié),用于計算機(jī)連接多個 RFID讀寫器時區(qū)分讀寫器,單機(jī) 模式取0x00DATA LENGTH段 長1字節(jié),指定 STATUS及DATA部分的長度STATU浮段 長1字節(jié),其表征先前發(fā)送給讀寫器的命令執(zhí)行成功與否;DATA字段,存放與命令響應(yīng)相關(guān)的數(shù)據(jù),其長度以及內(nèi)容與命令CMD,以及執(zhí)行狀態(tài)相關(guān)BCC字段 長1字節(jié),用于數(shù)據(jù)包校驗(yàn),其值為數(shù)據(jù)包中除STX, ETX外所有字節(jié)的字節(jié)異或校驗(yàn)和。ETX字段 長1字節(jié),固定為0x03,表征數(shù)據(jù)包結(jié)束11再來看第3部分測試程序創(chuàng)建12RFID讀寫器通過R

6、S232連接到計算機(jī)后,計算機(jī)上還需要什-個相應(yīng)的應(yīng)用程序, 方能通過串口訪問 RFID讀寫器,進(jìn)行讀寫卡片等操作。我們將創(chuàng)建一個C# Windows窗體應(yīng)用程序,用于測試和驗(yàn)證RFID讀寫器的相關(guān)讀寫操作,具體步驟如下:13首先打開 Visual Studio 2015,選擇新建 Visual C腔別下的 Windows囪體應(yīng)用程序,輸入項(xiàng)目名稱以及選擇存放路徑,點(diǎn)擊確定然后設(shè)置窗口大小,并按照下圖來創(chuàng)建RFID測試程序的界面,本測試程序界面分成兩個功能模塊,上面模塊與串口操作相關(guān),下面模塊與讀寫器操作相關(guān)。所有控件的名稱如圖所示。14 串口操作模塊的控件屬性值設(shè)置參照RS232串口可能參數(shù)

7、進(jìn)行設(shè)置,具體如圖所示。15 由于Mifare S50卡片共16扇區(qū),每扇區(qū)4個數(shù)組塊,扇區(qū)默認(rèn)訪問密鑰為 6個0xFF. 因此讀寫器模塊的控件屬性值設(shè)置如圖所示;16 最后介紹第4部分串口訪問實(shí)現(xiàn)17 RFID測試程序需要通過 SerialPort控件來實(shí)現(xiàn)對 RS232串口的訪問,具體實(shí)現(xiàn)步驟如下:18 第1步添加控件在工具箱-»組件中選中 SerialPort控件,并將其拖動到 Windows窗體中,并改名 為 spCOMSerialPort控件為不可顯示控件,因而控件顯示在窗口編輯區(qū)的下方19 第2步設(shè)置控件我們可以在控件屬性界面去設(shè)置SerialPort串口的物理串口號,波

8、特率,數(shù)據(jù)位,停止位,校驗(yàn)位等屬性也可以通過命令行代碼去設(shè)置SerialPort串口的物理串口號,波特率,數(shù)據(jù)位,停止位,校驗(yàn)位等屬性20 第3步操作串口首先通過Open方法打開串口,完成串口訪問后,需要通過Close方法關(guān)閉串口串口打開后,便可通過Read方法從串口接收對端設(shè)備發(fā)來的數(shù)據(jù)以及通過Write方法將數(shù)據(jù)通過串口發(fā)送到對端設(shè)備21 在計算機(jī)接收串口信息時,通常不知對端發(fā)來的數(shù)據(jù)何時到達(dá),通常有以下兩種處理辦法,第1種為新創(chuàng)建線程,循環(huán)去查詢是否有數(shù)據(jù)到達(dá)接收緩沖區(qū),需要 涉及到線程編程,較為復(fù)雜;因此采用第2種較為簡單的事件驅(qū)動方式,操作過程如下:首先點(diǎn)擊SerialPort控件的事件面板,在dataReceived事件上進(jìn)行雙擊,將添加該事件的響應(yīng)函數(shù);當(dāng)串口接收緩沖區(qū)接收數(shù)據(jù)超過屬性ReceivedBytesThreshold所指定的值時,將觸發(fā)dataReceived事件,當(dāng)該事件被處理時,將調(diào)用該響應(yīng)函數(shù);因此需要編輯dataReceived事件的響應(yīng)函數(shù),將 Read接收數(shù)據(jù)的代碼添加到該事 件響應(yīng)函數(shù)中,便可實(shí)現(xiàn)數(shù)據(jù)的及時接收處理。22 以上便是RFID串口協(xié)議的總

溫馨提示

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

評論

0/150

提交評論