Win2000下如何与串口通讯?(100分)

  • 主题发起人 janestory
  • 开始时间
J

janestory

Unregistered / Unconfirmed
GUEST, unregistred user!
DELPHI在windows2000和NT中,怎样实现对口地址的读写?

我在windows98中可以通过汇编对口地址读写的,
function inportb(address:Word):Byte;
begin
Result:=0;
asm
Mov dx,address
In al, dx
Mov Result,al
end;
end;

procedure outportb(address:Word;data:Byte);
begin
asm
Mov dx,address
Mov al,data
Out dx,al
end;
end;
但到了windows2000和NT就不行了,请教怎样才能解决?
 
非要自己写吗?用控件或动态库不是很好吗?可以给你mail一个动态库,很好用的
 
干吗非要直接写端口,直接用com1、com2...不行吗?
 
保护模式,如果可以任意写的话,NT、2000的 安全性稳定性如何保证。
可以用
MSCOMM
SPCOMM
CREATEFILE.......
VXD
 
WIN98下我以前也这么用汇编写过。。。。。。。

还是用控件好多了。。。不丢数据。快速又简单。
 
spcomm好用
 
用VB里的MSCOMM,下面是我的一段代码:
procedure TForm1.CtlYuntai(const A:Byte);
var
TurnInfo:OleVariant;
begin
TurnInfo:= VarArrayCreate([0,2], varByte);
TurnInfo[0]:=$01; //地址码
TurnInfo[1]:=$77; //功能码
TurnInfo[2]:=A; //信息码
MSComm1.CommPort := 1; //COM1
MSComm1.Settings :='19200,M,8,1'; //设置通信参数,第九位为1
MSComm1.Portopen:=true; //打开端口
MSComm1.Output:=TurnInfo;//发送数据
MSComm1.PortOpen:=False; //关闭端口
end;
 
我有个最好的串口调试器在
http://vip.6to23.com/cooldba
 
win2000下我用VC+API可以进行串口通信,但是用DELPHI确不行了。
首先是SPCOMM控件装不上,然后是编译无法通过,不知道为什么?
谁在WIN2000下同时用VC和DELPHI?交流一下。
 
win2000下spcomm一点问题都没有。我家是win2k server,公司是win2k pro,都能正常使用。
 
MSCOMM控件或通过文件方式访问串口
 
多人接受答案了。
 
顶部