Example #1
0
        /// <summary>
        /// 安全写
        /// </summary>
        public void SECWrite(MemBank memType, string password, MemAddress startAddress, MemLength dataLength, string content)
        {
            string TempStr        = "";
            string TempStrEnglish = "";
            int    status         = 0;
            int    SMembank       = 0;
            string PWstr          = "";
            string WDataStr       = "";
            int    WSAddr         = 0;
            int    WCnt           = 0;

            byte[] PassWord = new byte[4];
            byte[] WData    = new byte[100];

            SMembank = (int)memType;
            PWstr    = password;
            WSAddr   = (int)startAddress;
            WCnt     = (int)dataLength;
            WDataStr = content;

            if (WDataStr.Length == WCnt * 4)
            {
                HexStrToByte(PassWord, PWstr);
                HexStrToByte(WData, WDataStr);
                status = Reader.GEN2_SecWrite(CS, SMembank, PassWord, WSAddr, WCnt, WData, 0xFF);
                if (0 == status)
                {
                    TempStr        = "标签写入成功";
                    TempStrEnglish = "tag write success";
                }
                else
                {
                    TempStr        = "标签写入失败";
                    TempStrEnglish = "tag write failed";
                }

                Console.WriteLine(TempStr);
            }
            else
            {
                Console.WriteLine("写入标签的数据与写入的长度不匹配!请检查后重试");
            }
        }
Example #2
0
        /// <summary>
        /// 安全读
        /// </summary>
        public void SECRead(MemBank memType, string password, MemAddress startAddress, MemLength dataLength)
        {
            string TempStr        = "";
            string TempStrEnglish = "";
            int    status         = 0;
            int    SMembank       = 0;
            string PWstr          = "";
            int    RSAddr         = 0;
            int    RCnt           = 0;

            byte[] PassWord = new byte[4];
            byte[] RData    = new byte[100];

            SMembank = (int)memType;
            PWstr    = password;
            RSAddr   = (int)startAddress; // 0-35
            RCnt     = (int)dataLength;

            HexStrToByte(PassWord, PWstr);

            status = Reader.GEN2_SecRead(CS, SMembank, PassWord, RSAddr, RCnt, RData, 0xFF);
            if (0 == status)
            {
                TempStr        = "标签读取成功";
                TempStrEnglish = "Tag read success";
                string TStr = "";
                TStr = ByteToHexStr(RData, RCnt * 2);

                // 读取结果
                Console.WriteLine(TStr);
            }
            else
            {
                TempStr        = "标签读取失败";
                TempStrEnglish = "Tag read failed";

                Console.WriteLine(TempStr);
            }
        }