我有一個卡/ rfid閱讀器,我正在嘗試爲它創建一個測試應用程序。我確實有一個來自提供商的協議描述文檔,但之前我從來沒有寫過串口軟件,對我而言,一切看起來都很奇怪。我有編程技巧,但只是不知道我做錯了什麼。如何格式化命令以便在串口上寫入
所以,該設備的型號是CRT288。在規範的文檔,我有以下數據:
波特率(bps):9600
通信類型:異步通信
發送類型:半雙工
位細節:開始位1位
數據位:8位
校驗位:無
停止位:1位
起始位D0 D1 D2 D3 D4 D5 D6 D7停止SBIT
傳輸控制代碼:
代碼值含義
STX 0X02開始數據包
的字符ETX 0x03數據包的結束字符
ENQ 0x05發送要求c ommand(主機 - >讀卡器)
ACK 0×06正面回答(讀者主機)
NAK爲0x15否定的回答(讀者主機)
EOT 0X04取消通信
而且最重要的(我相信)命令的數據包格式:
STX(0×02)命令包ETX(0×03)BCC
BCC(塊檢驗字符)= S TX ^命令包^ ETX
(^是異或計算字符)
例如:復位命令:
BCC = 0×02^0×00^0×02 ^的0x30 ^的0x30^0×03
含義(STX^MSL^CMD^CMP^SDT^ETX)發送文本
(2)CMD指定一個命令的
(1)MSL長度。 (3)CMP命令參數。
(4)SDT指定發送數據,長度可變(0〜264字節)。
我已經安裝了一些稱爲串行端口監視器4.0(Eltima)的軟件,我試圖發送一個命令,但它似乎沒有工作。
0x02^0x00^0x02^0x30^0x30^0x03似乎是11或某物。
有沒有人有線索如何使用此規範發送適當的命令?
最重要的是,讀者吃了一張卡,我甚至不能拒絕這張卡。 它正在爲此指令:)
所以,如果你們有java或c#中的simpel代碼示例,或者如何正確格式化命令並將其發送到rs232,請幫助我。
一個
我投票關閉此爲*太本地化*。您應該查閱手冊,瞭解您正在使用的任何硬件。 – Yuck
我在看手冊,但沒有sofwtare的例子。我需要一個如何編寫手冊中指定的命令的代碼,如下所示:0x02^0x00^0x02^0x30^0x30^0x03。我只是選擇寫更多的細節來讓自己清楚。 Pelase不關閉它,因爲我真的需要som ehelp在這裏 –
http://msdn.microsoft.com/en-us/library/system.io.ports.serialport%28v=vs.80%29.aspx –