Exemplo n.º 1
0
        protected BaseSerialPort(string portName,
                                 int baud,
                                 int databits,
                                 Parity parity,
                                 StopBits stopbits,
                                 Handshake handshake)
        {
            Name = portName;

            _mPort                 = new SerialPort(portName, baud, parity, databits, stopbits);
            _mPort.Handshake       = handshake;
            _mPort.WriteTimeout    = _mWriteTimeout = 500;
            _mPort.ReadTimeout     = _mReadTimeout = 500;
            _mPort.Handshake       = Handshake.None;
            _mPort.WriteBufferSize = 4 * 1024;
            _mPort.ReadBufferSize  = 4 * 1024;
            _mPort.Encoding        = System.Text.Encoding.GetEncoding("Windows-1252");
            _mPort.DtrEnable       = true;
            _mPort.RtsEnable       = true;
            _mPort.DiscardNull     = false;


            // As portas de comunicação virtuais usam um ponto de extremidade de transferência em massa que é
            // tipicamente 64 bytes de tamanho. Alta velocidade pode usar 512 bytes, mas é dificil de ser encontrado porta que suporte
            if (SerialPortUtils.IsVirtualComPort(portName))
            {
                _mChunkSize = 64;
            }
            else
            {
                // 256 é um valor razoável. RS-232 pode lidar com um pouco mais, mas não é recomendado.
                // o dispositivo de destino pode ter um buffer pequeno, manter valor baixo
                _mChunkSize = 256;
            }
        }
Exemplo n.º 2
0
 private void createSerPortUtil()
 {
     if (serPort != null)
     {
         return;
     }
     serPort = new SerialPortUtils();
     serPort.onDataReceived += revePortsData;
 }
Exemplo n.º 3
0
 private void closeSerPortUtil()
 {
     if (serPort == null)
     {
         return;
     }
     serPort.onDataReceived -= revePortsData;
     serPort.closeComm();
     serPort = null;
 }
Exemplo n.º 4
0
        private void createSerPortUtil()
        {
            if (cdInterface != null)
            {
                return;
            }
            SerialPortUtils ser = new SerialPortUtils();

            ser.onDataReceived += revePortsData;

            cdInterface = ser;
        }
        //done
        private void LoadPortNames()
        {
            var ports = SerialPortUtils.GetAvailablePorts().OrderByDescending(x => x);

            _mainViewModel.GuiStatusViewModel.AvailablePorts = new List <string>(ports);
        }
Exemplo n.º 6
0
 /// <summary>
 /// 獲取串口號,初始化下拉串口名称列表框
 /// </summary>
 public void getCommPorts()
 {
     string[] ports = SerialPortUtils.getSerialPorts();
     commPortsCallBack(ports);
 }