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