如何偵測com1,com2 port 上安裝ㄌ哪些週邊? |
|
whalala
一般會員 發表:10 回覆:6 積分:3 註冊:2002-05-08 發送簡訊給我 |
|
領航天使
站長 發表:12216 回覆:4186 積分:4084 註冊:2001-07-25 發送簡訊給我 |
|
whalala
一般會員 發表:10 回覆:6 積分:3 註冊:2002-05-08 發送簡訊給我 |
|
linkolong
一般會員 發表:4 回覆:35 積分:12 註冊:2002-04-23 發送簡訊給我 |
在RS232中有4個腳位可用來回應訊號給電腦分別為CTS,DSR,RING,RLSD當未接上裝置時,腳位的電壓皆為低電壓,訊號傳回OFF,很多裝置都利用此四個腳位與電腦溝通(或多或少),所以檢查腳位電壓就知道該COM上是否有裝置存在
MS_CTS_ON,MS_DSR_ON,MS_RING_ON,MS_RLSD_ON
procedure TForm1.Button1Click(Sender: TObject);
var
cc:TCommConfig;
hComm:THandle;
Com:String;
lS:dword;
begin
Com:='COM2';
hComm:=CreateFile(Pchar(Com),Generic_read or Generic_write,0,nil,open_existing,0,0);
if GetCommModemStatus(hcomm,lS) then
begin
if(ls and MS_CTS_ON)=MS_CTS_ON then
begin
Button1.Caption:='CTSON'
end;
end;
closeHandle(hcomm);
end;
end.
2.檢查Handle所得到的值
procedure TForm1.Button1Click(Sender: TObject);
var
cc:TCommConfig;
hComm:THandle;
Com:String;
lS:dword;
begin
Com:='COM2';
hComm:=CreateFile(Pchar(Com),Generic_read or Generic_write,0,nil,open_existing,0,0);
if(hComm=invalid_Handle_value) then
begin
showmessage('通訊阜錯誤');
end;
closeHandle(hcomm);
end;
|
whalala
一般會員 發表:10 回覆:6 積分:3 註冊:2002-05-08 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |