Обработчик событий последовательного порта не запускается в Windows 10 - PullRequest
0 голосов
/ 01 марта 2019

Ниже приведен мой код, который я использовал при разработке.

    static void Main(string[] args)
    {
        SerialPort mySerialPort = new SerialPort("COM28");

        mySerialPort.BaudRate = 9600;
        mySerialPort.Parity = Parity.None;
        mySerialPort.StopBits = StopBits.One;
        mySerialPort.DataBits = 8;
        mySerialPort.Handshake = Handshake.None;
        mySerialPort.RtsEnable = true;

        mySerialPort.DataReceived += new SerialDataReceivedEventHandler(DataReceivedHandler);

        mySerialPort.Open();

        Console.WriteLine("Press any key to continue...");
        Console.WriteLine();
        Console.ReadKey();
        mySerialPort.Close();
    }

    private static void DataReceivedHandler(
                        object sender,
                        SerialDataReceivedEventArgs e)
    {
        SerialPort sp = (SerialPort)sender;
        string indata = sp.ReadExisting();
        Console.WriteLine("Data Received:");
        Console.Write(indata);
    }

Но проблема в том, что эта функция работает нормально в Windows 7 ПК.Но не в Windows 10 шт.В открытии порта windows 10.serial не отображается никаких ошибок, прослушивание работает нормально.Но в Windows 10 он никогда не вызывает метод «DataReceivedHandler».

1 Ответ

0 голосов
/ 01 марта 2019

Для меня этот код работает очень хорошо.Я использовал для симуляции последовательных портов «Виртуальный последовательный порт 9» и создал COM28 и COM30 взаимосвязанными.

Для записи в COM30 использовал программное обеспечение Termite 3.4, которое представило «Hello World» для вашего программного обеспечения, и он получил.

Просто я изменил его в коде, но не влияю на его.

        SerialPort mySerialPort = new SerialPort("COM28")
        {
            BaudRate = 9600,
            Parity = Parity.None,
            StopBits = StopBits.One,
            DataBits = 8,
            Handshake = Handshake.None,
            RtsEnable = true
        };

введите описание изображения здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...