Windows/.NET способ контролировать / отлаживать последовательный порт?

У меня есть приложение.NET 2.0, работающее на Windows XP Professional. Это приложение использует последовательный порт для связи с некоторыми пользовательскими устройствами.

По некоторым причинам, некоторые из наших нестандартных ПК имеют проблемы с последовательным портом, когда он перестает функционировать через несколько недель использования. Кроме автоматических перезагрузок, которые не будут работать в моем сценарии, существуют ли какие-либо утилиты, которые могут отлаживать / диагностировать последовательный порт? Есть ли библиотека.NET, которая может помочь с этим (могу ли я написать свою собственную утилиту для отладки порта)?

Также кто-нибудь имел опыт работы со следующей библиотекой: Sax CommStudio

4 ответа

Решение

Я использовал Sax CommStudio в прошлом, но сейчас я просто использую System.IO.Ports.SerialPort.

Вы случайно не используете последовательный порт USB? У меня были проблемы с теми, кто собирается BSOD и еще много чего. Если это так, у вас проблема с драйвером, а не с программным обеспечением.

Если вы хотите устранить неполадки вне вашего приложения, вы можете взглянуть на последовательный монитор HHD. Я думаю, что у них есть бесплатная пробная версия, но если вы занимаетесь серьезной разработкой RS232, ее действительно стоит купить.

portmon - http://technet.microsoft.com/en-us/sysinternals/bb896644.aspx

Я бы сказал, что это самый близкий к "стандартному" инструменту для мониторинга последовательных портов в Windows. Но небеса помогут вам, если вам нужно попытаться отследить что-то через две недели, используя этот вид инструмента...

Я бы заподозрил проблему с драйвером - это "правильный" последовательный порт с обычным UART, или это какой-то USB-Serial конвертер или что-то подобное?

Обновление 2017: Portmon был достаточно полезным предложением в 2008 году, но никогда не обновлялся для работы с 64-разрядными версиями Windows, поэтому не пытайтесь попробовать его сейчас на современной машине.

Я использовал HDD Software Free Serial Port Monitor. Он будет регистрировать весь трафик и открывать / закрывать последовательный порт. Таким образом, у вас есть журнал данных и работы последовательного порта.

Бесплатный монитор последовательного порта

Вы упоминаете, что работаете в Windows XP и.NET 2.0, .NET вполне может быть вашей проблемой, поскольку в большинстве версий.NET есть ошибки, влияющие на последовательные порты. Минимальная версия, которую я бы порекомендовал для использования последовательных портов, - это.NET 3.5 SP1.

Смотрите также: http://blog.zachsaw.com/2010/07/net-serialport-woes.html

Другие вопросы по тегам