線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:3692
推到 Plurk!
推到 Facebook!

使用PCOMM.DLL做一個COM口檢測小工具

尚未結案
lonm
一般會員


發表:2
回覆:0
積分:0
註冊:2009-04-24

發送簡訊給我
#1 引用回覆 回覆 發表時間:2009-04-24 20:53:22 IP:121.201.xxx.xxx 訂閱
我使用PCOMM.DLL做一個COM口檢測小工具,
原理:1. 程式先從註冊錶獲取所有COM口,再逐一打開每個COM口,設置每個COM口的DTR/RTS為高電位,并為每個COM口動態創建對應的指示Panel;
2. 啓用掃描器檢查讀取每個COM口的DSR/DCD/RI/CTS的狀態;
3. 使用COM口的Loopback Plug治具,插接到COM口上,如果COM口的DSR/DCD/RI/CTS信號有一個為高電位,Panel就顯示對應COM口的名稱;

程式運行后髮現COM1, COM3, COM5...奇數口都正常,但COM2,COM4, COM6...都不正常, 調試髮現偶數口調用sio_lstatus(port)取得的值是0,奇數數口調用sio_lstatus(port)取得的值是15,即DSR DCD RI CTS之和。
判斷時,我調用sio_lstatus(port)值与DSR/DCD/RI/CTS信號与運算。

難道是PCOMM的Bug,還是我的程式問題,請指點迷津,不甚感激!


附加檔案:49f1b6427a273_CPCnew.rar
DavidLo
高階會員


發表:17
回覆:225
積分:168
註冊:2004-07-21

發送簡訊給我
#2 引用回覆 回覆 發表時間:2009-05-02 22:54:44 IP:218.169.xxx.xxx 訂閱
以下不懂!

DTRMode:=(DTRMode 1) mod 2 ; <= ?
ret:=sio_DTR(port,DTRMode);

RTSMode:=(RTSMode 1) mod 2; <= ?
ret:= sio_RTS(port,RTSMode);
系統時間:2024-03-29 6:15:52
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!