Exemple #1
0
        /// <summary>
        /// Подключение по порту к устройству
        /// </summary>
        public void Connect(bool isDefault)
        {
            try
            {
                if (IsConnect || port != null)
                {
                    Disconnect();
                }

                if (isDefault)
                {
                    DefaultParametrs();
                }

                port = new SerialPort();
                InitParametrs(port);
                ExchangePacket packet = new ExchangePacket();
                packet.Code    = (byte)ResponseCode.POSITIVE;
                packet.Payload = Encoding.ASCII.GetBytes("a");
                byte[] staf = WakeConvertHelper.Staffing(packet.GetBytes());

                receiver = new Thread(Receive)
                {
                    Priority     = ThreadPriority.AboveNormal,
                    IsBackground = true
                };


                port.ErrorReceived += OnErrorReceive;
                port.Open();
                OnSerialStateChangeEvent(true);
                receiver.Start();
            }
            catch (Exception ex)
            {
                OnSerialErrorEvent(0, null, ex);
            }
        }
Exemple #2
0
        /// <summary>
        /// Отправка данных по порту
        /// </summary>
        public void Transmit(byte[] data, int dataLength)
        {
            try
            {
                if (port == null || !port.IsOpen)
                {
                    throw new Exception("Нет подключения");
                }

                byte[] staffingData = WakeConvertHelper.Staffing(data);

                if (staffingData == null)
                {
                    return;
                }

                port.Write(staffingData, 0, staffingData.Length);
            }
            catch (Exception ex)
            {
                OnSerialErrorEvent(0, null, ex);
            }
        }