コード例 #1
0
        public CSerialPort(SerialPort sp, HighLevelDataHandler handler)
        {
            string[] ports = null;

            m_SPCurrent        = sp;
            m_SPReceiveHandler = new SerialDataReceivedEventHandler(DataReceiverHandler);
            m_SPReceiveQueue   = new Queue <string>();

            // common setting for serial port
            m_SPCurrent.NewLine       = "\n";
            m_SPCurrent.DataReceived += m_SPReceiveHandler;
            m_SPCurrent.Encoding      = Encoding.Default;

            ports = SerialPort.GetPortNames();
            if (ports.Length > 0)
            {
                m_SPCurrent.PortName = ports[0];
            }

            RegisterHighLevelDataHandler(handler);
            m_SPCurrent.ReadTimeout  = 100;
            m_SPCurrent.WriteTimeout = 100;

            ReadDataScheduler          = new System.Timers.Timer(IntervalBetweenReceiveAndProcessDataMs);
            ReadDataScheduler.Elapsed += new System.Timers.ElapsedEventHandler(ReadDataSchedulerHandler);
        }
コード例 #2
0
 public bool RegisterHighLevelDataHandler(HighLevelDataHandler handler)
 {
     if (handler != null)
     {
         m_HighLevelDataHandler = handler;
         return(true);
     }
     return(false);
 }