RS485串口通讯
时间:2008-05-29
来源:互联网
作者: liuhongxia1978 发布时间: 2008-05-29
可以用现成的spcomm控件等。
作者: Corn1 发布时间: 2008-05-29
作者: liuhongxia1978 发布时间: 2008-05-29
作者: luxuewei5214 发布时间: 2008-05-29
作者: liuhongxia1978 发布时间: 2008-05-29
作者: jadeluo 发布时间: 2008-05-30
作者: liuhongxia1978 发布时间: 2008-05-30
我以前做过的。
作者: Corn1 发布时间: 2008-05-30
对于软件来说,485通信和串口通信是一回事,都是操作串口。这两者只是硬件上的区别而已,跟软件没关系的。所谓的485通信,只是在串口上加了一个转换器而已,就这么简单。
我以前做过的。
作者: ljz9425 发布时间: 2008-05-30
我原来Delphi7下的232的程序,用Spcomm控件实现,且用转接口转485后没有问题;
问题是现在在PC104(内安装装嵌入式windowsXP系统)上直接就是485口,单片机上也是,如何解决呢?
反正以前的程序似乎不能用,你若解决,告诉我解决方案啊,跪求,亟待!!!!
多谢多谢,发我信箱:[email protected]
作者: KOOkO 发布时间: 2008-06-03
作者: KOOkO 发布时间: 2008-06-03
如果是的话买卡时会提供驱动吧,然后你从设备管理器里面看识别成什么设备.多半还是识别为一个串口,那你就用你操作232的方法去操作这个串口就好了,剩下的是厂商提供的驱动的事
作者: skylkj 发布时间: 2008-06-04
作者: xiaobaoqi 发布时间: 2008-06-04
作者: 快乐老猫 发布时间: 2008-06-09
区别在于:RS485是差分(差分信号)传输,RS232是非差分(同分信号)传输的。
因此,RS485传输信号扰干扰能力强于RS232,故传输距离较RS232远。
就编程上来看,与RS232并没有区别。对于计算机来说如果在232串口上进行485通讯的话,
要加入一个RS232/RS485转换模块才行。
作者: dinglinger 发布时间: 2008-06-17
PC机主板上,一般有Com1和Com2,插上485卡后,就会有Com3、Com4……。
所以编程完全和Com1\Com2一样。
作者: sy_100000 发布时间: 2008-06-27
procedure TForm1.Button1Click(Sender: TObject);
begin
self.Comm1.CommName:=edit1.Text;
self.Comm1.BaudRate:=strtoint(edit2.Text);
self.Comm1.ByteSize:=Tbytesize(3);
self.Comm1.StopBits:=Tstopbits(0);
self.Comm1.Parity:=tparity(0);
try
self.Comm1.StartComm;
except
raise exception.Create('打开串口失败!');
end;
self.StatusBar1.Panels[0].Text:=edit1.text+'已打开';
self.StatusBar1.Refresh;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
self.Comm1.StopComm;
self.StatusBar1.Panels[0].Text:=edit1.text+'已关闭';
self.StatusBar1.Refresh;
end;
procedure TForm1.Button2Click(Sender: TObject);
var
str:Pchar;
count:integer;
begin
str:=pchar(edit3.Text);
count:=length(str);
if self.Comm1.WriteCommData(str,count) then
self.Memo1.Lines.Add('已发送'+inttostr(count)+'个字符')
else
raise exception.Create('发送错误');
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
close;
end;
procedure TForm1.Comm1ReceiveData(Sender: TObject; Buffer: Pointer;
BufferLength: Word);
var
str:string;
strrecv:string;
begin
setlength(strrecv,bufferlength);
move(buffer^,Pchar(strrecv)^,bufferLength);
self.Memo2.Lines.Add('已收到:'+inttostr(bufferlength)+'字节的数据');
self.Memo2.Lines.Add(strrecv);
end;
作者: kampan 发布时间: 2008-06-27
作者: huochai555 发布时间: 2011-08-31
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28