200分求助小问题:如何监视串行口的数据?(发送与接收)(100分)

徐军

Unregistered / Unconfirmed
GUEST, unregistred user!
如何实时获得串行口变化的的数据(IN OR OUT)?
监视端口地址能否做到?

最好源码。
 
K

kinglaw

Unregistered / Unconfirmed
GUEST, unregistred user!
portmon可以。
 
J

jennykiller

Unregistered / Unconfirmed
GUEST, unregistred user!
为什么不用串口控件,事件驱动就可以了。
 
I

iie

Unregistered / Unconfirmed
GUEST, unregistred user!
再用一个串口,把要监听的通信线路上的Rx或者Tx复接过来,不过考虑232电平,
这样的复接不能超过2个
 
W

wang_junfan

Unregistered / Unconfirmed
GUEST, unregistred user!
用汇编语言:
监视com1
var
flag:byte;
begin
asm
mov flag,00h
mov dx,3fdh
in al,dx
and al,01h
cmp al,01h
jne @com_in1
mov flag,01h
@com_in1:
end;
end;
flag为1则收到数据
若com2将3fdh改成2fdh即可

 

徐军

Unregistered / Unconfirmed
GUEST, unregistred user!
多谢各位捧场
 

徐军

Unregistered / Unconfirmed
GUEST, unregistred user!
再询问一下:
串行通信口与单板机正常通信,如何监听到字们的通信内容?(发送与接收分别显示)
 
W

wang_junfan

Unregistered / Unconfirmed
GUEST, unregistred user!
收com1数据:
var
k:byte
begin
asm
mov dx,3f8h
in al,dx
mov k,al
end;
end;
若com2将3f8h改成2f8h

向com1发数据:
var
k:byte
begin
asm
@com_out1:
mov dx,3fdh
in al,dx
and al,60h
test al,60h
je @com_out1 //判断串口是否准备好

mov al,k
mov dx,3f8h
out dx,al //发数据
end;
end;
若com2将3f8h改成2f8h,3fdh改成2fdh


 

徐军

Unregistered / Unconfirmed
GUEST, unregistred user!
wang_junfan:
如何得知数据到来?同时又怎样设置读端口数据的时间间隔?
 
W

wang_junfan

Unregistered / Unconfirmed
GUEST, unregistred user!
我在上面提供的方法是采用查询方式收串口数据,若要
要得得知数据到来,就不能用查询方式,要创建事件,然后
写程序去响应事件,最好用api函数,这方面我还没试过,试了
以后再答复你,很多delphi网站上都有这方面的资料,你可以
去查一查;
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
顶部