Exemplo n.º 1
0
        /// <summary>
        /// 打开连接串口处理
        /// </summary>
        public void OpenConnect()
        {
            // readerAddr = 0xFF;
            byte[] verion = new byte[2];  //软件版本//读写器型号
            byte   supProtocol = 0;       //支持的协议
            byte   dmaxfre = 0;           //当前读写器使用的最高频率
            byte   dminfre = 0;           //当前读写器使用的最低频率
            byte   power = 0;             //读写器的输出功率
            byte   inventoryScanTime = 0; //询查时间
            int    result = 0x30;
            int    fbaud, i;

            fbaud = 5;
            string temp;

            result = RWDeviceDll.ConnectReader(fbaud);

            if (result != 0)
            {
                for (i = 0; i < 5; i++)
                {
                    if (i > 2)
                    {
                        fbaud = Convert.ToByte(i + 2);
                    }
                    else
                    {
                        fbaud = Convert.ToByte(i);
                    }
                    result = RWDeviceDll.ConnectReader(fbaud);
                    if (result == 0)
                    {
                        break;
                    }
                }
            }

            if (result == OK)
            {
                RWDeviceDll.GetReaderInfo(ref readerAddr, verion, ref model, ref supProtocol, ref dmaxfre, ref dminfre, ref power, ref inventoryScanTime);
                temp = verion[0].ToString().PadLeft(2, '0') + "." + verion[1].ToString().PadLeft(2, '0');
                if (power < 20)
                {
                    power = 20;
                }
                fComopen = true;
            }
            else
            {
                throw new Exception("打开设备连接处理失败!");
            }
        }