手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>程序设计>delphi>列表

检查RS232(串口)是否接有设备

来源:互联网 作者:西部数码 时间:2008-04-09
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!
在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;
(作者 anykey)
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;(作者 anykey)

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!