我用SPCOMM做了个连接XK3101(称重显示器)的程序。(50分)

  • 主题发起人 主题发起人 seeme0526
  • 开始时间 开始时间
S

seeme0526

Unregistered / Unconfirmed
GUEST, unregistred user!
下面是部分代码,可是我接受不到数据,请指教!

procedure TForm1.Comm1ReceiveData(Sender: TObject; Buffer: Pointer;
BufferLength: Word);
var
s: string;
begin
SetLength(S, BufferLength);
Move(Buffer^, PChar(S)^, BufferLength);
dxEdit1.text:=copy(s,7,2)+'.'+copy(s,9,3);
dxEdit2.Text:=S;
end;

procedure TForm1.XP_Button1Click(Sender: TObject);
begin
Comm1.StartComm;
end;

procedure TForm1.XP_Button2Click(Sender: TObject);
begin
Comm1.StopComm;
end;

procedure TForm1.ED_ComChange(Sender: TObject);
begin
Comm1.CommName:=ED_Com.Text;
end;

procedure TForm1.ED_BTLChange(Sender: TObject);
begin
Comm1.BaudRate:=strtoint(ED_BTL.Text);
end;

procedure TForm1.ED_SJWChange(Sender: TObject);
begin
case strtoint(ed_sjw.text) of
5:Comm1.ByteSize:=_5;
6:Comm1.ByteSize:=_6;
7:Comm1.ByteSize:=_7;
8:Comm1.ByteSize:=_8;
end;
end;

procedure TForm1.ED_TZWChange(Sender: TObject);
begin
if ED_TZW.Text='1' then Comm1.StopBits:=_1;
if ED_TZW.Text='1.5' then Comm1.StopBits:=_1_5;
if ED_TZW.Text='2' then Comm1.StopBits:=_2;
end;

end.
 
帮帮忙吧
 
你的ED_Com.Text有没有赋值?是什么?
 
seeme0526:
SPCOMM的奇偶校验属性是哪个?
 
SPCOMM的奇偶校验属性:Com1.ParityCheck
 
to zxj2000:
ED_Com.Text是手工添加的串口名称
to wyb_star:
无奇偶校验
 
你监视一下看
是什么都接收不到还是接收到的数据不对??
 
我想应该是两边的通讯的方法不正确,不是startcom后就能接受到,应该是称重显示器
接到制定的指令后才传送数值的。
 
给你个串口调试程序:http://zxj.ahbb.net/fordown/serialV21.exe
看看数据接收情况
 
我做过xk3190-D2+的,你可用超级终端测一下,如果没有任何数据的话,那肯定是连线的接
法有问题,我做的也是碰到这种情况,技术手册的接法写错了。
 
我突然想到一个问题,会不会是win2000下有能用SPCOMM呀!
 
怎么可能呀,我一直在windows2000下面用这个
 
那咋会事儿呀!
 
我不想再等了.
 
xk3101发过来的数据类型能否直接用于显示重量,是不是要处理一下?
 
多人接受答案了。
 
后退
顶部