環境:WinXP; PowerBuilder的11.5(雖然可能不相關的,因爲這部分幾乎完全是WinAPI的呼叫)COM端口退出工作
我的應用程序打開使用重疊的方法調用寫一個COM端口。當應用程序打開時,端口被打開。應用程序始終保持開放狀態。
偶爾,即使應用程序仍在發送數據,附加設備也會停止接收數據。該應用程序不會收到錯誤消息。停止並重新啓動應用程序不會解決它。重新啓動計算機並不能解決問題。但是,通過超級終端連接修復它。
此特定設備打印條形碼標籤。該應用程序將打印得很好,然後突然,它不會打印。關閉應用程序;打開並連接超級終端;斷開並關閉超級終端;打開應用程序。它再次正常工作......一段時間。 (我與其他設備也有類似的問題,也通過COM端口進行通信,所以我知道它不是設備本身。)
我可以在網上找到的最接近的類似問題是http://www.eggheadcafe.com/microsoft/Windows-XP-Hardware/30829577/com1-not-behaving.aspx,它提到IRQ衝突和沒有解決方案。我只能猜測我的問題是相似的。
有誰知道超級終端可能會採取什麼措施來解決問題嗎?
強勁的指標是你得到的握手錯誤。當設備需要RTS + CTS或Xon/Xoff時,使用無。 –
這當然是一種可能性。但是有些時候會有這樣的工作嗎?該應用程序工作了一段時間,然後突然停止。另外,如何在使用CreateFile方法時指定握手方法? http://msdn.microsoft.com/en-us/library/windows/desktop/aa363858(v=vs.85).aspx –
您可以使用SetCommState() –