串口编程,急求高手~~~~~分数不多了 还请高手赐教啊(100分)

  • 主题发起人 angelloi
  • 开始时间
A

angelloi

Unregistered / Unconfirmed
GUEST, unregistred user!
我 用了个9针的串口头连接到计算机上
电路是连的4,6脚
怎么编写4,6脚短接的时候触发事件啊
 
我急啊
高手们帮帮我啊
 
http://www.vclxx.org/DELPHIGB/AAAT1028.HTM
这里有相当多这方面的控件,许多是附源码的,你不如去找几个来参考一下好了
 
控件 我有 就是不知道怎么写
我用的是ccomm
 
你先查一下DB9的4,6脚定义(很久没用记不得了)。
然后再查你使用的组件有没有对应的事件。
 
我看了的
4 数据终端准备 DTR
6 数据设备准备好 DSR
这是它的针脚说明
我不知道下面怎么写啊 拜托了帮帮我啊
 
不是我不想帮你,主要是在家手头没有资料。:(
 
我想在组件里会产生Error事件。
然后根据错误号来判断?
 
4,6脚短接(DTR、DSR)表示外接设备短路。
 
老大 能不能详细点啊
 
DB-25 DB-9 信号名称 方向 含 义
2 3 TXD 输出 数据发送端
3 2 RXD 输入 数据接收端
4 7 RTS 输出 请求发送(计算机要求发送数据)
5 8 CTS 输入 清除发送(MODEM准备接收数据)
6 6 DSR 输入 数据设备准备就绪
7 5 SG - 信号地
8 1 DCD 输入 数据载波检测
20 4 DTR 输出 数据终端准备就绪(计算机)
22 9 RI 输入 响铃指示
 
4,6脚短接是什么意思???是不是在你这台机上短路呀??
还是两台交叉接??
 
意思是9针上面只连接4,6脚
然后在我的机器上短路连接串通起来
 
应该是对地连接,这样DTR应该是0,仅仅是猜测。
 
大哥门 帮帮我啊
 
4,6脚短接没有触发事件吧,
你加我QQ,我发段说明给你.
16970995
 
这种资料很多,查一下就OK了!
 
明天还要早起去加班,所以说得简单点 :-)
使用API
1、EscapeCommFunction(fHandle,SETDTR) //将串口DTR(4)脚电位置高
2、GetCommModemStatus(fHandle, ModemStat)
ModemStat and MS_DSR_ON <> 0 then
//检测串口DSR(6)脚电位为高
.......
创建一线程,按需要的间隔重复1和2,来判断4脚和6脚是否短路,还有使用1和2时要先打开串口 如下:
fHandle:=CreateFile( Pchar(COM1), GENERIC_READ Or GENERIC_WRITE, 0, // open port
Nil, OPEN_EXISTING, 0, 0);
//FILE_FLAG_OVERLAPPED
如果有控件可以实现1和2的功能也可以一样使用
楼主好用了记得给分啊,:——)
 
能不能具体点啊
线程怎么写啊
 
楼主,在QQ里跟我说吧
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
I
回复
0
查看
591
import
I
D
回复
0
查看
920
DelphiTeacher的专栏
D
顶部