在DELPHI中,如何用PORT 或PORTW和单片机通讯(100分)

  • 主题发起人 liuxiaoqing
  • 开始时间
L

liuxiaoqing

Unregistered / Unconfirmed
GUEST, unregistred user!
DELPHI 能直接对端口操作,但是在HELP中没有怎么提,据说
很有用,用来和单片机通讯也许不难。但我没有见过,谁能证明
 
在DELPHI中,如何用PORT是对TCP/IP操作的
如果您想对I/O口操作只好嵌入汇编,或者用C++写一个ACTIVEX,我写过一个
如此的控件,想要的话给我你的电子邮件地址我给你一份
 
I remember this Delphi station has many controls that can do this
job. Please search yourself or ask yysun to get it.

(If you can't find, I can mail to you.)
 
我可以证明。Delphi 中保留了Borland pascal 中的俩个数组Port[] &PortW[]
前者是字节操作的,后者是字操作。
For example:
;
;
port[$70]:=$00;
port[$71]:=$0ff;
;
;
CMOS PASSWORD 就 disable 了。more careful!
 
Sandau:
你老兄讲的好象是16位的DELPHI
 
我用一下两个程序在delphi 4.0 上写售饭机程序(西安交通大学饮食中心)
一分钟处理几千笔数据,毫无问题...
procedure portout(com:word;out:byte);
begin
asm
xor edx,edx
xor eax,eax
mov dx,com
mov al,out
out dx,al
end;
end;
function portin(com:word):byte;
begin
asm
xor edx,edx
xor eax,eax
mov dx,com
in al,dx
pop ebx
pop ecx
pop ebp
ret //必须直接返回,否则系统第一次运行会报错!!!
end;
end;
 
与单片机通信有专门的控件.
你可以在网上找找,我用过好像是TPComm.
用起来很方便.
 
本站有一个DELPHI如何操纵硬件的抧件,且带源代码
具体是哪一个,问问斑竹就知道了.
 
多人接受答案了。
 
16位利用Communication的API函数解决,主要对TDCB修改和用WriteComm,OpenComm等函数完成

32位利用多线程可以完成,只不过用设备块来代替16位的TDCB。

我这里有一些源程序,已经实现了和51单片机的通讯问题,而且对于单片机通讯也有一些
心得,感兴趣的可以给我MAIL

关于TPCOMM,我倒是听感兴趣,如果哪位大虾有,劳驾发一份给我,多谢了。
douw@cumt.edu.cn
 
顶部