Example #1
0
 /// <summary>
 /// 打开串口
 /// </summary>
 public bool Open()
 {
     if (null == _port)
     {
         _port = new GodSerialPort(this._portName, 115200, Parity.Odd, 8, StopBits.One, Handshake.None);
         _port.UseDataReceived(true, (sp, bytes) =>
         {
             StringBuilder sb = new StringBuilder();
             foreach (var b in bytes)
             {
                 sb.Append($"{b:X2} ");
             }
             Console.WriteLine($"recv data:{sb.ToString()}");
             //如果接受到数据,就提交给接口处理
             _dataRecv = bytes;
             _dataRecvPort?.DealData(bytes);
         });
     }
     if (_port.IsOpen)
     {
         return(true);
     }
     //打开串口,并进行监听
     return(_port.Open());
 }
Example #2
0
        /// <summary>
        /// 打开串口
        /// </summary>
        public bool Open()
        {
            if (null == _port)
            {
                _port = new GodSerialPort(this._portName, this._rate, Parity.Even, 7, StopBits.One, Handshake.None);
                _port.UseDataReceived(true, (sp, bytes) =>
                {
                    StringBuilder sb = new StringBuilder();
                    foreach (var b in bytes)
                    {
                        sb.Append($"{b:X2} ");
                    }
                    Console.WriteLine($"recv data from plc:{sb.ToString()}");
                    //如果接受到数据,就提交给接口处理
                    if (_dataRecv == null)
                    {
                        _dataRecv = bytes;
                    }
                    else
                    {
                        _dataRecv = _dataRecv.Concat(bytes).ToArray();
                        Console.Write($"拼接后数据:");
                        CommandFactory.PrintBytes(_dataRecv);
                    }

                    _dataRecvPort?.DealData(bytes);
                });
            }
            if (_port.IsOpen)
            {
                return(true);
            }
            //打开串口,并进行监听
            return(_port.Open());
        }
Example #3
0
        static void Main(string[] args)
        {
            Console.Write("input serialport name:");
            string read = Console.ReadLine();

            if (string.IsNullOrWhiteSpace(read))
            {
                Exit();
            }

            GodSerialPort gsp = new GodSerialPort(x => {
                x.PortName = read;
            });

            gsp.UseDataReceived(true, (sp, bytes) => {
                if (bytes != null && bytes.Length > 0)
                {
                    string buffer = string.Join(" ", bytes);
                    Console.WriteLine("receive data:" + buffer);
                }
            });

            bool flag = gsp.Open();

            if (!flag)
            {
                Exit();
            }

            Console.WriteLine("serialport opend");

            Console.WriteLine("press any thing as data to send,press key 'q' to quit.");

            string data = null;

            while (data == null || data.ToLower() != "q")
            {
                if (!string.IsNullOrEmpty(data))
                {
                    Console.WriteLine("send data:" + data);
                    gsp.WriteAsciiString(data);
                }
                data = Console.ReadLine();
            }
        }
Example #4
0
        private void Initialize()
        {
            var portName = settings.COMPort;

            try
            {
                portName = GodSerialPort.GetPortNames().Single <string>();
            }
            catch
            {
            }

            myPort = new GodSerialPort(portName, baudRate: 9600, parity: 0);
            myPort.UseDataReceived(true, OnDataReceived);
            myPort.OnPinChange(action: (port, e) => { Trace.TraceEvent(TraceEventType.Error, 3, "pinchanged:" + e.ToString()); });
            myPort.OnError(action: (port, e) => { Trace.TraceEvent(TraceEventType.Error, 1, "error:" + e.ToString()); });

            myPort.Open();
        }
Example #5
0
        // ReSharper disable once UnusedParameter.Local
        static void Main(string[] args)
        {
            Console.Write("input serialport number(only 0-9):");
            string read = Console.ReadLine();
            bool   flag = uint.TryParse(read, out uint num);

            if (!flag)
            {
                Exit();
            }

            GodSerialPort gsp = new GodSerialPort("COM" + num, 9600);

            gsp.UseDataReceived((bytes) => {
                if (bytes != null && bytes.Length > 0)
                {
                    string buffer = string.Join(" ", bytes);
                    Console.WriteLine("receive data:" + buffer);
                }
            });
            flag = gsp.Open();

            if (!flag)
            {
                Exit();
            }

            Console.WriteLine("serialport opend");

            Console.WriteLine("press any thing as data to send,press key 'q' to quit.");

            string data = null;

            while (data == null || data.ToLower() != "q")
            {
                if (!string.IsNullOrEmpty(data))
                {
                    Console.WriteLine("send data:" + data);
                    gsp.WriteAsciiString(data);
                }
                data = Console.ReadLine();
            }
        }