2009年5月18日 星期一

RFID開發程式理解 爛透了的第一步

今天開始研究Sirit PnP Rfid Demo應用軟體的程式碼。

由於程式背景基礎(相當)不佳的關係

在解讀的過程中一直碰壁

雖然有用MSDN以及GOOGLE等工具來輔助

但總是有種不得其門而入的感覺

後來在學長的指導下,總算大概掌握了一些方法

byte AFI; //宣告一個範圍8位元不帶正負號的整數
delegate void UpdateText(string str); //委派並回傳 更新str資料行的一部分
delegate void UpdateCheck(CheckBox bx, bool active);
delegate void UpdateButtonEnable(Button btn, bool enable);
private bool m_Detect = false;//宣告一個布林值 m_Detect = false 即為0
private bool doDisable = false;//宣告一個布林值 doDisable = false 即為0
TagType type = TagType.None; //取得與無命名空間相對應的....
string tag_id = string.Empty;//宣告一個空字串 tag_id,其中,tag_id是一個包含8 byte標籤ID的陣列
string prev_tag = string.Empty;//宣告一個空字串prev_tag
int tagLength = 256; //宣告標籤字元長度為256個整數
byte[] key = new byte[16];//新增一個16位元key
byte num_keys = 0x02;//宣告一個8位元的陣列 0x02為 num_keys
byte key_settings = 0x00;//宣告一個代表設置key的陣列 0x00
byte communication_settings = 0x03; //宣告一個代表通訊模式的8位元陣列
byte[] access_rights = new byte[2]; //新增一個代表存取權利的8位元陣列
byte name_num = 0x01;//宣告一個陣列 0x02為 name_num
byte pn_num = 0x02;//宣告一個陣列 0x02為 pn_num
byte pt_num = 0x03;//宣告一個陣列 0x02為 pt_num
byte pd_num = 0x04;//宣告一個陣列 0x02為 pd_num
uint _read_offset = 0x000000;//unit為長度度量 0x000000
uint _data_length = 0x00001D;//unit為長度度量 0x000000
byte[] AID = new byte[3];//新增一個3位元的AID

以上為今日慘不忍睹的結果,有許多細節的部分仍然需要詳加解釋與補充

我將於近日補上完整版

.................程式真是個麻煩的東西

1 則留言:

  1. 別急,按部就班來學,就不會覺得程式難了。要在一天內學會寫出好的程式,天仙也做不到。

    寫程式非常重要,找個時間把它練起來,出國一定用得到的,因為國外大學程式訓練比台灣更嚴格,要求也更高。

    回覆刪除