Пример #1
0
        private void SerialPinChangedEventHandler(object sender, SerialPinChangedEventArgs e)
        {
            //+12v 입력시 On으로 표시됨.
            SerialPort serialport = sender as SerialPort;

            if (e.EventType == SerialPinChange.Break)
            {
                SetColorControl(label_Break, serialport.BreakState);
            }

            else if (e.EventType == SerialPinChange.CDChanged)
            {
                SetColorControl(label_DCD, serialPort1.CDHolding);
            }

            else if (e.EventType == SerialPinChange.CtsChanged)
            {
                SetColorControl(label_CTS, serialPort1.CtsHolding);
            }

            else if (e.EventType == SerialPinChange.DsrChanged)
            {
                SetColorControl(label_DSR, serialPort1.DsrHolding);
            }

            else if (e.EventType == SerialPinChange.Ring)//Rising Falling 일때 검지됨.. 핀상태는 알수가 없나?
            {
                SetColorControl(label_RI, RIon ^= true);
            }
        }
Пример #2
0
 private void OnPinChanged(object sender, SerialPinChangedEventArgs e)
 {
     //Event handler for a change in one of the serial port pin values
     if ((e.EventType & SerialPinChange.DsrChanged) > 0)
     {
         if (this.PrinterEventChanged != null)
         {
             this.PrinterEventChanged(this, new PrinterEventArgs(e.EventType));
         }
     }
     if ((e.EventType & SerialPinChange.CDChanged) > 0)
     {
         if (this.PrinterEventChanged != null)
         {
             this.PrinterEventChanged(this, new PrinterEventArgs(e.EventType));
         }
     }
     if ((e.EventType & SerialPinChange.CtsChanged) > 0)
     {
         if (this.PrinterEventChanged != null)
         {
             this.PrinterEventChanged(this, new PrinterEventArgs(e.EventType));
         }
     }
 }
 void SerialEvent(object sender, SerialPinChangedEventArgs e)
 {
     if (e.EventType == SerialPinChange.Break)
     {
         this.Connected = false;
     }
 }
Пример #4
0
        private void Port_PinChanged(object sender, SerialPinChangedEventArgs e)
        {
            bool b = false;

            switch (e.EventType)
            {
            case System.IO.Ports.SerialPinChange.CDChanged:
                b = currentPort.CDHolding;
                break;

            case System.IO.Ports.SerialPinChange.CtsChanged:
                b = currentPort.CtsHolding;
                break;

            case System.IO.Ports.SerialPinChange.DsrChanged:
                b = currentPort.DsrHolding;
                break;

            case System.IO.Ports.SerialPinChange.Ring:
                // 如果是由 Ring 引发 PinChanged
                // 那就意味着RI信号此时有效!
                // 作为示例,仅仅是输出字符串"振铃...",
                // 你可以在这里写你自己的处理操作
                Console.WriteLine("振铃...");
                break;

            case SerialPinChange.Break:
                Console.WriteLine("中断...");
                break;

            default:
                break;
            }
        }
Пример #5
0
 void serailDevice_OnModemStatusChanged(object sender, SerialPinChangedEventArgs e)
 {
     rfc2217Option.SetModemState(serialDevice.CtsHolding,
                                 serialDevice.DsrHolding,
                                 (e.EventType & SerialPinChange.Ring) == SerialPinChange.Ring,
                                 serialDevice.CDHolding);
 }
Пример #6
0
 private void PinChanged(object sender, SerialPinChangedEventArgs e)
 {
     Console.WriteLine(Environment.NewLine + nameBarDec + "PinChanged! {0}", DateTime.Now.ToLocalTime().ToString());
     foreach (SerialPort port in _port)
     {
         if (e.EventType == SerialPinChange.Break)
         {
             Console.WriteLine(nameBarDec + "{0} Обнаружен разрыв на входе", port.PortName);
         }
         if (e.EventType == SerialPinChange.CDChanged)
         {
             Console.WriteLine(nameBarDec + "{0} Изменилось состояние сигнала обнаружения несущей (CD). Этот сигнал используется для того, чтобы показать, что модем подключен к рабочей телефонной линии и в ней обнаружен сигнал несущей частоты.", port.PortName);
         }
         if (e.EventType == SerialPinChange.CtsChanged)
         {
             Console.WriteLine(nameBarDec + "{0} Изменилось состояние сигнала готовности к приему (CTS). Этот сигнал используется для того, чтобы показать, что данные можно передавать через последовательный порт.", port.PortName);
         }
         if (e.EventType == SerialPinChange.DsrChanged)
         {
             if (port.DsrHolding == false)
             {
                 Console.WriteLine(nameBarDec + "{0} не готов к работе", port.PortName);
             }
             else
             {
                 Console.WriteLine(nameBarDec + "{0} готов к работе", port.PortName);
             }
         }
         if (e.EventType == SerialPinChange.Ring)
         {
             Console.WriteLine(nameBarDec + "{0} Обнаружен индикатор вызова", port.PortName);
         }
     }
 }
Пример #7
0
 protected virtual void OnPinChanged(object sender, SerialPinChangedEventArgs args)
 {
     EventHandler<SerialPinChangedEventArgs> handler = PinChanged;
     if (handler != null) {
         handler(sender, args);
     }
 }
Пример #8
0
        private void PlcMacchinaInputChanged(object sender, SerialPinChangedEventArgs e)
        {
            if (e.EventType == this.inputPin)
            {
                if (syncInpuntEnabled)
                {
                    syncInpuntEnabled = false;

                    if ((e.EventType == SerialPinChange.CtsChanged && syncPort.CtsHolding) ||
                        (e.EventType == SerialPinChange.CDChanged && syncPort.CDHolding))
                    {
                        // il segnale è alto
                        AccettaFoto = true;
                    }
                    else
                    {
                        // il segnale è basso
                        AccettaFoto = false;
                    }

                    EventHandler ev = OnSyncInpuntChange;
                    if (ev != null)
                    {
                        ev(this, EventArgs.Empty);
                    }
                }
                syncInpuntTimer.Start();
            }
        }
        /// <summary>
        /// シリアルのピンの状態変化時に実行されるイベントハンドラ。
        /// </summary>
        /// <param name="sender">イベント発生元。</param>
        /// <param name="e">イベント引数。</param>
        private void _SerialPort_PinChanged(object sender, SerialPinChangedEventArgs e)
        {
            // エラーフラグ
            bool errorFlag = false;

            // 切断チェック
            if (e.EventType.HasFlag(SerialPinChange.CtsChanged))
            {
                if (!_SerialPort.CtsHolding)
                {
                    errorFlag = true;
                }
            }
            if (e.EventType.HasFlag(SerialPinChange.DsrChanged))
            {
                if (!_SerialPort.DsrHolding)
                {
                    errorFlag = true;
                }
            }
            // エラーフラグが立っていれば切断
            if (errorFlag)
            {
                OnErrorOccurred(new CommunicationErrorEventArgs(this, new Exception()));
                Disconnect();
            }
        }
        private void OnPinChanged(object sender, SerialPinChangedEventArgs e)
        {
            if (null == e)
            {
                return;
            }
            try
            {
                switch (e.EventType)
                {
                case SerialPinChange.CtsChanged:
                    _loggingAction.Fire();
                    break;

                case SerialPinChange.CDChanged:
                    if (!_serialPort.CDHolding)
                    {
                        ClosePort();
                    }
                    break;

                default:
                    break;
                }
            }
            catch (UnauthorizedAccessException ex)
            {
                LogMessageAvailable?.Invoke(this, new LogMessage()
                {
                    MessageSeverity = LogMessage.Severity.Warning, Message = string.Format("{0}: Device disconnected: {1}", DateTime.Now, ex.Message)
                });
                ClosePort();
            }
        }
Пример #11
0
        private void ChangePin(SerialPinChangedEventArgs e)
        {
            switch (e.EventType)
            {
            case SerialPinChange.Break:
                pictureBox_StatusBreak.BackColor = m_Port.BreakState ? Color.Red : Color.Silver;
                break;

            case SerialPinChange.CDChanged:
                pictureBox_StatusDcd.BackColor = m_Port.CDHolding ? Color.LightGreen : Color.Silver;
                break;

            case SerialPinChange.CtsChanged:
                pictureBox_StatusCts.BackColor = m_Port.CtsHolding ? Color.LightGreen :Color.Silver;
                break;

            case SerialPinChange.DsrChanged:
                pictureBox_StatusDsr.BackColor = m_Port.DsrHolding ? Color.LightGreen : Color.Silver;
                break;

            case SerialPinChange.Ring:
                pictureBox_StatusRing.BackColor = pictureBox_StatusRing.BackColor == Color.Red ? Color.Silver : Color.Red;
                break;
            }
        }
Пример #12
0
        private void SerialPort_PinChange(object sender, SerialPinChangedEventArgs e)
        {
            SerialPort serialPort1 = sender as SerialPort;

            if (serialPort1.CtsHolding)
            {
                InvokeUpdateStatePanel(ctsStatus, Brushes.Green);
            }
            else
            {
                InvokeUpdateStatePanel(ctsStatus, Brushes.LightGray);
            }
            if (serialPort1.DsrHolding)
            {
                InvokeUpdateStatePanel(dsrStatus, Brushes.Green);
            }
            else
            {
                InvokeUpdateStatePanel(dsrStatus, Brushes.LightGray);
            }
            if (serialPort1.CDHolding)
            {
                InvokeUpdateStatePanel(dcdStatus, Brushes.Green);
            }
            else
            {
                InvokeUpdateStatePanel(dcdStatus, Brushes.LightGray);
            }
        }
Пример #13
0
 ///
 ///
 ///
 static private void IRQ_PinChanged(object sender, SerialPinChangedEventArgs e)
 {
     if (eventPinChangned != null)
     {
         eventPinChangned();
     }
 }
Пример #14
0
        void HandlePinChanged(object sender, SerialPinChangedEventArgs e)
        {
            var port  = sender as SerialPort;
            var slice = FPorts.IndexOf(port);

            switch (e.EventType)
            {
            case SerialPinChange.Break:
                BreakStateOut[slice] = !BreakStateOut[slice];
                break;

            case SerialPinChange.CDChanged:
                DcdStateOut[slice] = !DcdStateOut[slice];
                break;

            case SerialPinChange.CtsChanged:
                CtsStateOut[slice] = !CtsStateOut[slice];
                break;

            case SerialPinChange.DsrChanged:
                DsrStateOut[slice] = !DsrStateOut[slice];
                break;

            case SerialPinChange.Ring:
                RiStateOut[slice] = !RiStateOut[slice];
                break;

            default:
                break;
            }
        }
Пример #15
0
        private void _serialPort_PinChanged(object sender, SerialPinChangedEventArgs e)
        {
            var signalState = false;

            switch (e.EventType)
            {
            case SerialPinChange.Break:
                break;

            case SerialPinChange.CDChanged:
                signalState = _serialPort.CtsHolding;
                break;

            case SerialPinChange.CtsChanged:
                signalState = _serialPort.CDHolding;
                break;

            case SerialPinChange.DsrChanged:
                signalState = _serialPort.DsrHolding;
                break;

            case SerialPinChange.Ring:
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }

            if (_hasSignal != signalState)
            {
                SignalChangedEvent?.Invoke(this, new SignalChangedEventArgs(signalState ? SignalChangedEventArgs.SignalState.Online : SignalChangedEventArgs.SignalState.Offline));
                _hasSignal = signalState;
            }
        }
Пример #16
0
///////////////////////////////////////////////////////////////////////////////////////////////////////////
        //private void port_DataReceived_1(object sender, SerialDataReceivedEventArgs e)
        //{

        //    //if (!ComPort.IsOpen) return;
        //    // int bytes = ComPort.BytesToRead;
        //    int bytes_rs = ComPort.ReadByte();


        //    //InputData = ComPort.ReadExisting();
        //    //if (bytes_rs != null)
        //    //{
        //    this.BeginInvoke(new SetTextCallback(SetText), new object[] { bytes_rs });
        //    //}
        //}
        //private void SetText(int buffer)
        //{

        //    string s2 = buffer.ToString();


        //    //rtbIncoming.Clear();
        //    rtbIncoming.AppendText(s2);
        //    rtbIncoming.AppendText("-");

        //    //    //this.rtbIncoming.Text += text;
        //    //    byte[] uart_data_byte = Encoding.UTF8.GetBytes(text);
        //    //    BitArray b = new BitArray(uart_data_byte);


        //    //    var sb = new StringBuilder();

        //    //    for (int i = 0; i < b.Count; i++)
        //    //    {
        //    //        char c = b[i] ? '1' : '0';
        //    //        sb.Append(c);
        //    //    }

        //    //    string s2 = sb.ToString();

        //    //    rtbIncoming.Clear();
        //    //    rtbIncoming.AppendText(s2);
        //}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////
        //private void port_DataReceived_1(object sender, SerialDataReceivedEventArgs e)
        //{
        //    InputData = ComPort.ReadExisting();
        //    if (InputData != String.Empty)
        //    {
        //        this.BeginInvoke(new SetTextCallback(SetText), new object[] { InputData });
        //    }
        //}
        //private void SetText(string text)
        //{
        //    byte[] uart_data_byte = Encoding.UTF8.GetBytes(text);

        //    BitArray b = new BitArray(uart_data_byte);


        //    var sb = new StringBuilder();

        //    for (int i = 0; i < b.Count; i++)
        //    {
        //        char c = b[i] ? '1' : '0';
        //        sb.Append(c);
        //    }

        //    string s2 = sb.ToString();

        //    rtbIncoming.Clear();
        //    rtbIncoming.AppendText(s2);
        //}

        internal void PinChanged(object sender, SerialPinChangedEventArgs e)
        {
            SerialPinChange SerialPinChange1 = 0;
            bool            signalState      = false;

            SerialPinChange1 = e.EventType;
            switch (SerialPinChange1)
            {
            case SerialPinChange.Break:
                //MessageBox.Show("Break is Set");
                break;

            case SerialPinChange.CDChanged:
                signalState = ComPort.CtsHolding;
                //  MessageBox.Show("CD = " + signalState.ToString());
                break;

            case SerialPinChange.CtsChanged:
                signalState = ComPort.CDHolding;
                //MessageBox.Show("CTS = " + signalState.ToString());
                break;

            case SerialPinChange.DsrChanged:
                signalState = ComPort.DsrHolding;
                // MessageBox.Show("DSR = " + signalState.ToString());
                break;

            case SerialPinChange.Ring:
                //MessageBox.Show("Ring Detected");
                break;
            }
        }
Пример #17
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void sPort_PinChanged(object sender, SerialPinChangedEventArgs e)
 {
     // http://www.euskalnet.net/shizuka/rs232.htm
     //this.BufferString.AppendLine(this.sPort.ReadExisting() + "/PinChanged");
     ////
     //this.Invoke(new EventHandler(Decodificar));
 }
Пример #18
0
 public void PinChangedHandle(object sender, SerialPinChangedEventArgs e)
 {
     Console.WriteLine("SerialPort : PinChange - \n" + e.ToString());
     if (this.PinChanged != null)
     {
         PinChanged(sender, e);
     }
 }
Пример #19
0
 private void OnPinChanged(object sender, SerialPinChangedEventArgs e)
 {
     //Event handler for pin change events
     if (this.PrinterEventChanged != null)
     {
         this.PrinterEventChanged(this, new PrinterEventArgs(e.EventType));
     }
 }
Пример #20
0
 /// <summary>
 /// check for terminal ready on pin change
 /// </summary>
 /// <param name="sender">Serial port</param>
 /// <param name="e">Pin arguments</param>
 private void Terminal_PinChanged(object sender, SerialPinChangedEventArgs e)
 {
     if (State != lastState)
     {
         lastState = State;
         TerminalStateChanged(State);
     }
 }
Пример #21
0
 private void SerialPort1_PinChanged(object sender, SerialPinChangedEventArgs e)
 {
     MessageBox.Show("Serial Pin Changed");
     if (!serialPort1.IsOpen)
     {
         maximStatusStrip1.SectionStatus.Text = "Disconnected (Pin Change)";
     }
 }
Пример #22
0
 //pin脚状态监控事件
 private void serialPort1_PinChanged(object sender, SerialPinChangedEventArgs e)
 {
     if (PinChanged != null)
     {
         PinChanged(sender, e);
     }
     ShowPinState();
 }
        //===========================================================================================================
        //Other tab events
        //===========================================================================================================



        private void serialPort1_PinChanged(object sender, SerialPinChangedEventArgs e) // This event is triggered when the Serial port is broke suddenly and it looses connection
        {
            MessageBox.Show("Pin changed");
            if (!serialPort1.IsOpen)
            {
                MessageBox.Show("Port disconnected");
                maximStatusStrip1.SectionStatus.Text = "Disconnected";
            }
        }
Пример #24
0
        private void pinChange(object sender, SerialPinChangedEventArgs e)
        {
            SerialPortEventArgs args = new SerialPortEventArgs();

            if (comNumEvent != null)
            {
                comNumEvent.Invoke(this, args);
            }
        }
Пример #25
0
 void COM_PinChanged(object sender, SerialPinChangedEventArgs e)
 {
     System.IO.Ports.SerialPort sp = (System.IO.Ports.SerialPort)sender;
     loger.Log(new LogerMsg(String.Format(R.Notice_Fomat, R.PinChanged, sp.PortName), TraceLevel.NOTICE));
     if (PinChanged != null)
     {
         PinChanged.BeginInvoke(sender, e, null, null);
     }
 }
Пример #26
0
        protected virtual void OnSerialPinChanged(object sender, SerialPinChangedEventArgs e)
        {
            OnSetMessage(string.Format("PinChanged {0}", e.EventType));

            if (e.EventType == SerialPinChange.Break)
            {
                StartCloseSession(true);
            }
        }
Пример #27
0
        /// <summary>
        /// Event on serial port "pin was changed"
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        static void port_PinChanged(object sender, SerialPinChangedEventArgs e)
        {
            if (continuousMode)
            {
                return;
            }

            UI.SetPinStatus((SerialPort)sender);
        }
        private void LPSerialPort_PinChanged(object sender, SerialPinChangedEventArgs e)
        {
            LogMessage logInfo = new LogMessage
            {
                OperationTime = DateTime.Now,
                ExceptionInfo = "串口信号异常"
            };

            this.TextBoxErrorLog.Text += new LogFormat().ErrorFormat(logInfo);
        }
Пример #29
0
 void serial_port_PinChanged(object sender, SerialPinChangedEventArgs e)
 {
     switch (e.EventType)
     {
     case SerialPinChange.CtsChanged:
     case SerialPinChange.DsrChanged:
         UpdateMox();
         break;
     }
 }
Пример #30
0
        }     // PortErrorReceived()

        /// <summary>
        /// Handles the pin changed event of a SerialPort object.
        /// </summary>
        /// <param name="sender">The sender.</param>
        /// <param name="e">The <see cref="SerialPinChangedEventArgs"/>
        /// instance containing the event data.</param>
        private void PortPinChanged(object sender,
                                    SerialPinChangedEventArgs e)
        {
            if (this.LowLevelComEvent != null)
            {
                var args = new LowLevelComEventArgs(
                    LowLevelComEventType.SerialPinChange, e);
                this.LowLevelComEvent(this, args);
            } // if
        }     // PortPinChanged()