2010年8月9日 星期一

如何用RS-232作數位輸入偵測

RS-232除了用於傳送、接收、接地線及數位輸出的幾個腳位之外,其他的幾支腳位理論上是應該可以作為數位輸入之用,因為其他的幾支腳位都是由外界輸入,作為讓電腦知道某些訊息用的,比方CTSDSR腳位是電腦與數據機作訊息溝通時的硬體流量控制用,而RI腳位則是用來偵測是否有電話鈴響,DCD腳位則是用來偵測連線時的載波訊號是否存在。
SerialPort類別屬性中與數位輸入相關的屬性有DsrHoldingCtsHoldingCDHolding三個,它們分別對應到DSR腳位、CTS腳位、CD腳位,當硬體線路上的電位發生變化時,相對應的屬性值會發生變化,只要讀取這些屬性值就可以知道。

若欲進行實驗,線路上應如何建立呢?您可以如圖中的方式。
在圖中的每一條線上路上的+和接點,接到相對應的腳位,其中的-接點接到RS-232中的第5腳(此腳是GND)。
程式的設計就依照上述的幾個屬性進行偵測,最方便的方式就是使用計時器來不斷地偵測腳位上的變化,就可以得知目前該腳位上的狀態,如此一來,就可以得知目前是高電位或是低電位了。這就是一個簡單的數位輸入的實驗。

沒有留言:

張貼留言