485串口通信问题 急啊,在线等!! ( 积分: 50 )

  • 主题发起人 主题发起人 jindgu
  • 开始时间 开始时间
串口还是第一次用呢,232以前也没有用过。那些个属性有什么要特别设置一下的?
 
如果你的PC上有2个串行口,可以先进行RS232的对发测试。好了,再上RS485。[:)]
 
这个不知道,是别人那借的转换器。
 
MSComm还要设置通讯速率,数据位,停止位,校验方式.这些都对了以后再检查通信线和串口在操作系统中是否正常.MSComm在Delphi中使用是绝对没有问题的,找不到原因换什么样的控件都白搭.
 
232对发?什么意思啊,对于这些不懂,以前是搞纯软的。
 
to su37:
用MSComm能够发送数据那这些属性那当然是设置对的啊!
 
建议先将RS232(即串行口)的收发调试好了。再考虑别的。再给你一个串行口调试工具吧。
请查收。
 
你可以检查看串口是否打开,通讯参数是否正确
 
真是麻烦ccwwdd了。不管怎样非常感谢!
 
RS232就是PC的串行口的物理协议的技术用语[:)]
 
看来,你要好好补一下硬件知识。本人曾经搞过RS485,还是比较熟了。有什么问题。可发mail。
 
这个调试工具其实我也有。
 
好的,多谢!
我就是一台机子用这个调试工具,另一台用自己编得程序进行通信。
 
其实你有没有以前的程序,发一段过来看看,这样比较容易理解。
 
两边都用工具,可以互相通信吗?你有1对RS485转换模块吧。
 
多用那个工具可以通信
 
我给你的就是程序中的关键过程。另外,实际上你的通信是建立在RS232上的,RS485只是进行了物理信号的转换。使之能够多机互相通信。但是代价是半双工模式,即所有的机器中只能有1台处于发送模式。
 
应该是的,但我同一时间只用一台发啊
 
我觉得问题在别的地方不在发这个模块。
 
procedure TForm1.MSComm1Comm(Sender: TObject);
var
data:string;
begin
if not MSComm1.PortOpen then
MSComm1.PortOpen:=True;
MSComm1.InBufferCount:=0;
data:=MSComm1.Input;
Edit2.Text:=data;
MSComm1.PortOpen:=False;
end;

搂主的写法有问题,怎么能在comm事件里面打开串口呢,不可能执行的啊
if not MSComm1.PortOpen then
MSComm1.PortOpen:=True
。。
MSComm1.PortOpen:=False;

这三行多余
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
632
import
I
后退
顶部