pc与8051的串口通讯问题???(100分)

L

lzhp

Unregistered / Unconfirmed
GUEST, unregistred user!
pc发送完一指令数据(字节数不固定),能否在一限制时间内(如100MS)看是否8051有

返回数据,如没有则视为不成功?用spcomm不知能否实现,怎样实现,最好给出例子!
 
简单的方法可不可以是这样的:
pc发送完指令后,启动一个100ms的定时器,spcomm收到返回数据时给一个标志位置位,
定时器时间到了之后查看标志位来判断时候成功。
 
必须用SPComm吗?用其他方法行吗?如API,或MOXA的DLL?
SPComm没用过其他倒还行。
 
用其他方式也可以?
 
用其他方式当然可以,我喜欢用MOXA的DLL,然后自己写一个简单的串口类,非常方便。
我现在用的就是这样的一个类。
FreeFly的方法也可以,但给我的感觉就象一个初学VB的程序员常用的方法,使用大量
的定时器。
 
把接收超时设为100ms即可。
 
用async控件最好解决
 
to jiangyiquan :详细资料能否给我一份 lzhpluto@china.com

to kinglaw 接收超时是不是ReadIntervalTimeOut

to async :我没用过,但不知你能否给我一份这个控件和它的例子
 
我就是写8051单片机和计算机接口程序的:

用嵌入汇编的方法等待100ms即可,

判断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;
可用以上语句判断1000次,若flag不为1 则证明接收超时

收数据:
var
k:byte;
begin
asm
mov dx,3f8h
in al,dx
mov k,al
end;
end;
若为com2,所用地址为2fdh,2f8h
 
谢谢各位,相对而言我还是喜欢jiangyiquan的方法.再次感谢大家.
 
to :lzhp,能不能给我一份资料
 

Similar threads

回复
0
查看
670
不得闲
S
回复
0
查看
954
SUNSTONE的Delphi笔记
S
S
回复
0
查看
775
SUNSTONE的Delphi笔记
S
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
顶部