RS232串口通讯——在线请教,高手请进(200分)

  • 主题发起人 主题发起人 yy2001
  • 开始时间 开始时间
Y

yy2001

Unregistered / Unconfirmed
GUEST, unregistred user!
工作需要,初次接触,遇到问题如下:
接线连好,使用SpComm和ComPort两种组件接受数据,但没有反映,最可能的原因是什么?
 
可能是你机子的端口有问题。
你可能用系统自带的"超级终端"试试有没有接受到数据,如果没有就是你的端口有问题,
否则就是你的设置有问题。
 
非常感谢
超级终端没有数据,连线测试没有问题
设置是按照说明书进行的
有没有办法继续?
 
最好把你的接收和發送數據部分代碼貼出來看看,
還有你的設備波特率是多少?這些都要設好
 
首先找个串口测试工具测试后没有问题后,再用控件

spcomm 要打开端口的,有个函数 startcom 吧,应该是这样的,我有一两个没用了
 
ReceiveData事件了吗?
 
發送數據:
com.StopComm;
Com.BaudRate:=9600;
Com.Parity:=Space;
Com.StartComm;
A:=$55;
Com.WriteCommData(@A,1);
.
.
.
A:=$BB;
Com.WriteCommData(@A,1);

接收數據:
procedure TLed.comReceiveData(Sender: TObject; Buffer: Pointer;
BufferLength: Word) stdcall;
VAR Str:String;
begin
FResultCode:=True;
SETlength(STR,BUFFERLENGTH);
move(BUFFER^,Str,BUFFERLENGTH);
showmessage(Str);
end;
 
你先检测串口好坏,方法,
1、将2、3两线短路,即发即收,检测两串口好坏
2、如果两个串口都没问题,则看看两边的波特率、数据位、校验位等是否一致,
3、通信电缆是否正确连线,9针口是2、3、5分别是收、发、地
15针口是2、3、7,如果是两台电脑相连,一般要2、3互掉,此发彼收,地要直连
就用超级终端好了,如果以上三步都没问题,应该OK了
 
其实首先你可以直接利用ComPort中带的Demo程序,试着是否接收数据。
 
各位大侠说的我都试过了,全部没有数据
hingman》直接利用ComPort中带的Demo程序,试着是否接收数据。--我试过了没有数据
我连接的是数据采集仪--是不是我的仪器有什么问题?
 
qsilence>感谢你的帮助
你先检测串口好坏,方法,
1、将2、3两线短路,即发即收,检测两串口好坏---试过,没有问题,可以收发
2、如果两个串口都没问题,则看看两边的波特率、数据位、校验位等是否一致,
---波特率9600,数据位7,偶效验--按照说明书,仪器和电脑一致
3、通信电缆是否正确连线,9针口是2、3、5分别是收、发、地
15针口是2、3、7,--电缆连接正确
我想应该是仪器的某些设置,没有做好。
感谢各位,虽然没有解决,学了不少东西,请继续指教。
稍后付分
 
你的数据采集设备有可能是RS485总线的哦
 
yy2001,还有一问题你可能需要弄清,仪器那边据通常都会需要你发一条命令过去,它
才会反馈数据给你。你是否有作此步?比如原来做GPS的车载台通讯程序的开发,你发
一条命令过去之后,它就会不停发送经度和纬度等信息给你,你只要接收、分析数据就
行了。
 
LIUYING771129>RS232没有搞错
hingman>你说得对,我用将2、3两线短路,即发即收的方式,程序十分正常
可我不论用什么办法,都无法和数据仪进行通信
你说的“仪器那边据通常都会需要你发一条命令过去,它
才会反馈数据给你。你是否有作此步?比如原来做GPS的车载台通讯程序的开发,你发
一条命令过去之后,它就会不停发送经度和纬度等信息给你,你只要接收、分析数据就
行了。”这个我的试验方法是,仪器本身就有START键,按下后就应该发出数据,
正常情况下我只要接受就可以了---可是什么也没有,我没办法了
我再整它一两天,求上帝保佑吧,有什么高招请多多指教。
 
你故障可能存在:

1:通讯线接口接错。你写的只是通常意义上的接线方式。很多仪器有自己独特的接线方式。
所以请仔细看一下厂家发给你的接线图,如果没有,问他们要。

2:采用厂家提供的测试程序进行通讯测试,确保线路没有问题。
没有,可以问厂家索取,或者让他们证明。

3:检查设备通讯协议,如果写错,设备也不会相应。

并不是所有设备都像GPS那种发了就只管收的。更多的是一问一答方式。

祝你好运。
 
我的问题已经解决,原因是仪器硬件问题,感谢你热心帮助
分数实在不多,如那位大侠对分数不满意,请至下帖留言,我另外送分
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1083404
 
后退
顶部