Member 10738387 Ответов: 1

Как реализовать последовательный Win32 вместо системы comminucation.Ио.порты последовательные порты в C#


Привет, я реализовал связь COM-порта с помощью System.IO.ports serilPorts (RS 232) для отправки и приема данных в порт. Во время получения ответа,
SerialDataReceivedEventHandler
не получает никакого значения и приводит к сбою приложения, неисправности.

когда я прошел через многие случаи, win32 лучше, чем serialport. я решил реализовать win32 поверх serialport.

не могли бы вы предоставить мне шаги по реализации win32 в C# для отправки и получения данных из COM-порта.

Что я уже пробовал:

я не нашел никакой идеи о win32 serial.

0x01AA

Мой опыт таков, что с# SerialPort класс очень надежный.

Richard MacCutchan

Сначала вам нужно определить, почему произошел сбой в вашем коде.

Dave Kreskowiak

Зачем тебе это делать, когда ... Сетевые классы уже делают для вас именно это? Классы .NET просто обертывают функциональность последовательного порта Win32. Вы бы сами переписали весь этот код.

1 Ответов

Рейтинг:
0

Garth J Lancaster

Сначала я бы сделал так, как говорит Ричард Маккатчан в комментариях "

Цитата:
Сначала вам нужно определить, почему произошел сбой в вашем коде.


Затем, если ваш код работает и выясняется, что есть проблема со скоростью, есть вещи, которые вы можете сделать .. это, например Повышение производительности последовательных портов с использованием C#[^] (это из его серии здесь Dotric Pty Ltd - Программное Обеспечение[^] )

Смотреть также : Если вы *должны* использовать .Объем системы.ИО.Портах.Последовательный порт | оборудование, программное обеспечение и усилитель; amp; развития продукта | Спаркс технических[^]

Я хочу сказать, что легко сказать существующее .Сетевые классы и т. д. В некотором роде несовершенны, и я хочу переписать его для себя-это чертовски много работы - интересно было бы оказаться в таком положении, когда лучший способ исправить проблемы со скоростью состоял в том, чтобы прикрепить проприетарный ключ к последовательному порту устройства и обрабатывать его чтение с помощью MODBUS по TCP/IP