2010-02-22 61 views
2

我有一段代碼可以讀取串行端口CTS線的當前狀態,然後應用程序根據值進入適當的模式。在串行端口上升高或降低RTS(C++)

使用此處描述調制解調器線路:

http://www.lammertbies.nl/comm/info/RS-232_null_modem.html#full

我可以檢測要經由調制解調器線路連接的其他一些端口上RTS線路。

有沒有程序升級或降低RTS線的方法?

平臺是Win32,C++,但任何有關何時RTS線上升或下降的信息都會有所幫助。

+1

什麼平臺? – 2010-02-22 10:59:55

回答

7

看看EscapeCommFunction

EscapeCommFunction(hPort, SETRTS); 

硬件握手必須被禁止,即dcb.fRtsControl應該調用SetCommState時設置爲比RTS_CONTROL_HANDSHAKE其他的東西。

1

此問題嚴重依賴於特定的平臺,而不僅僅是操作系統。如果RTS線路作爲輸出連接到機器,則可以升高線路。

最低級別的硬件必須提供對線路的訪問權限。某些串行接口不允許軟件訪問此線路,但通過H/W握手自動處理。

操作系統必須允許訪問此資源給用戶應用程序。在某些操作系統中,串行端口可能僅限於內核或超級用戶權限。

1

在.NET中,它是串口的.RtsEnable屬性。