串口通讯问题?(急!) ( 积分: 50 )

  • 主题发起人 主题发起人 kxytl
  • 开始时间 开始时间
K

kxytl

Unregistered / Unconfirmed
GUEST, unregistred user!
我用SPCOMM控件来接收医疗仪器中的数据?
问题如下:
一、SPCOMM中设置握手协仪的是那几个属性
总共有4种
1、无
2、XnoXoff
3、RTS
4、RTSXnoXoff
这几种协议要怎么样设置spcomm中的属性?
二、疑问
procedure TForm1.CommReceiveData(Sender: TObject;
Buffer: Pointer;
BufferLength: Word);
//接收
var
strRecv:string;
begin
setLength(StrRecv,BufferLength);
Move(Buffer^,Pchar(StrRecv)^,BufferLength);
Mrecive.Text := Mrecive.Text+StrRecv;
end;
我总觉得这样好像有问题,我这样读取是是字符串,又些可能输出的是16进制或二进制。
怎样改进!

 
我用SPCOMM控件来接收医疗仪器中的数据?
问题如下:
一、SPCOMM中设置握手协仪的是那几个属性
总共有4种
1、无
2、XnoXoff
3、RTS
4、RTSXnoXoff
这几种协议要怎么样设置spcomm中的属性?
二、疑问
procedure TForm1.CommReceiveData(Sender: TObject;
Buffer: Pointer;
BufferLength: Word);
//接收
var
strRecv:string;
begin
setLength(StrRecv,BufferLength);
Move(Buffer^,Pchar(StrRecv)^,BufferLength);
Mrecive.Text := Mrecive.Text+StrRecv;
end;
我总觉得这样好像有问题,我这样读取是是字符串,又些可能输出的是16进制或二进制。
怎样改进!

 
这个问题没人回答呀
 
1、SPCOMM不了解。
2、你要接收医疗仪器的应该有通信协议,根据通信协议的进行操作就行了。接收数据的方法是都一样的,不过你要根据你得到的数据(即那些字符串),按照通信协议获得。
 
这个对你一定有帮助
http://www.pcbookcn.com/article/1564.htm
 
你可以用串口监视软件,来诊听串口信息。可以检查你的发送,及接受是否有错误
 
to:lijun_snut有什么软件可以监视?
to:冰封 有做过这方面的朋友吗?
 
这个你跟硬件传输协议连起来就可以了.
 
我以前做过打卡机,不过我用的不是SPCOMM,而是直接用API。
这个其实并不难,关键点在于通信协议,如果你没有通信协议,那传送数据就免谈了,因为硬件(医疗仪器)不会理你的数据。
至于测试方面,我以前使用的是WINDOW带的“超级终端”。
 
去www.mcu51.com下一个串口助手
发送AT指令测试的设备是否可以通信
下载TurboPower的Async Professional
用里面的AdpComPort和AdpDataPacket控件开发
其中AdpComPort相当于SPCOMM,可写OutString属性向串口发送数据
AdpDataPacket用于接收响应数据
 
我也做过几十种医疗设备的通信了,不知你的那种是什么型号呢?
 
TO:Xiao1980 去www.mcu51.com下一个串口助手:::
没找到相关的下载,可以直接给出下载地址么?谢谢!!
 
to:liuying1129 是 symex xt-2100
 
我推荐你使用TurboPower的Async Professional,如果你知道协议的格式,它可以直接识别数据包的开始和结束,介绍你看一本书《delphi串口及语音传真高级编程》
 
多人接受答案了。
 

Similar threads

回复
0
查看
848
不得闲
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
633
import
I
后退
顶部