Среда: WinXP; PowerBuilder 11.5 (хотя, вероятно, не имеет значения, потому что эта часть почти полностью состоит из вызовов WinAPI)
Мое приложение открывает COM-порт для записи с использованием перекрывающихся вызовов методов. Порт открывается при открытии приложения. Приложение всегда оставляет порт открытым.
Иногда подключенное устройство перестает получать данные, даже если приложение все еще отправляет данные. Приложение не получает сообщений об ошибках. Остановка и перезапуск приложения не исправляет это. Перезагрузка компьютера не исправляет это. Однако, подключение через гипертерминал исправляет это.
Данное устройство печатает этикетки со штрих-кодом. Приложение будет печататься очень хорошо, но вдруг оно не будет печатать. Закройте приложение; открыть и соединить с гипертерминалом; отключить и закрыть гипертерминал; откройте приложение. Он снова работает отлично ... на некоторое время. (У меня были похожие проблемы с другими устройствами, которые также общаются через COM-порт, поэтому я знаю, что это не само устройство.)
Самая близкая похожая проблема, которую я могу найти в Интернете, - http://www.eggheadcafe.com/microsoft/Windows-XP-Hardware/30829577/com1-not-behaving.aspx, которая говорит о конфликтах IRQ и не предлагает решения. Я могу только догадываться, что моя проблема похожа.
Кто-нибудь знает, что может делать гипертерминал, чтобы прояснить ситуацию?