示例#1
0
        /// <summary>
        /// 写入数据
        /// </summary>
        /// <param name="str">写入的数据</param>
        /// <param name="blockNumber">扇区</param>
        /// <param name="sectorNumber">块区</param>
        /// <returns></returns>
        public bool WriteData(string str, int sectorNumber, int blockNumber)
        {
            byte block = 0, errorCode = 0;

            byte[] data    = new byte[16];
            int    fCmdRet = 0x30;

            if (sectorNumber > 32)
            {
                block = (byte)(128 + (sectorNumber - 32) * 16 + blockNumber);
            }
            else
            {
                block = (byte)(sectorNumber * 4 + blockNumber);
            }
            str  = StringToHexString(str);
            data = HexStringToByteArray(str);
            if (CheckRw(SecNumber, blockNumber))
            {
                fCmdRet = StaticClassReaderB.ISO14443AWrite(ref readerAddr, block, data, ref errorCode, portFrmIndex);
                Rf_Beep();
                return(fCmdRet == 0);
            }
            return(false);
        }