Как поймать отключенный последовательный порт в c#? - PullRequest
0 голосов
/ 21 февраля 2020

Итак, у меня есть приложение формы C# windows с GUI, которое позволяет мне подключаться к Arduino через последовательное соединение Bluetooth, и я хочу повернуть КРАСНЫЙ фон GUI, когда соединение разорвано.

Я создал ErrorHandler в моей функции connectToArduino, но, похоже, он работает неправильно. Когда я включаю Arduino, GUI не становится красным!

  private void connectToArduino()
      {
            string selectedPort = comboBox1.GetItemText(comboBox1.SelectedItem);
            portArduino = new SerialPort(selectedPort, 9600, Parity.None, 8, StopBits.One);
            portArduino.RtsEnable = true;
            portArduino.DtrEnable = true;

            try
            {
                portArduino.Open();
                isConnectedArduino = true;
            }
            catch (Exception e)
            {
                label8.Text = "Connection to Micro Failed. Try Again";
            }

            portArduino.DataReceived += new SerialDataReceivedEventHandler(DataReceivedHandler);
            portArduino.ErrorReceived += new SerialErrorReceivedEventHandler(ErrorReceivedHandler);

            button1.Text = "Disconnect";
            enableControlsArduino();
        }

Обработчик ошибок:

    private void ErrorReceivedHandler(object sender, SerialErrorReceivedEventArgs e)
    {
        Invoke(new Action(() =>
        {
            this.BackColor = Color.Red;
        }));
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...