用485总线实现单片机多机通讯,软件上怎么编程,可不可以给我个例子

如题... 如题 展开
 我来答
百度网友ec35c0b5a
2013-12-19 · TA获得超过1692个赞
知道大有可为答主
回答量:2508
采纳率:73%
帮助的人:1199万
展开全部
485与你的主从单通信有一个最大的区别就是有一个485地址码,如果您知道了RS232通信,那么485通信就应该不在话下了:
比如,一根485线上可以悬挂32个节点,那么,每个节点应该有一个唯一的可识别地址,在通信时,可以可以设置通信格式如下:
0XA5,0X5A,0XUU,0X......(其中将0XA5与0X5A作为握手信号,那么,0XUU(其中UU表示数据),作为485地址识别码,后面的可以表示长度与发送的数据以及校验等),那么你的编程就简单了啊,你发送字符串:0XA5,0X5A,0X01,0X10。。。,那么,这个发送的命令是发送给地址为0X01的485设备,发送的数据就是后面的定义数据了。
更多追问追答
追问
你好,我这个通信格式是在哪里设置呢,我现在只会汇编语言,我要发送字符串:0XA5,0X5A,0X01,0X10。。。,是用MOV吧,0XA5是几位数啊,不太懂
你好,我这个通信格式是在哪里设置呢,我现在只会汇编语言,我要发送字符串:0XA5,0X5A,0X01,0X10。。。,是不是主机依次发送这些字节,然后所有从机都接收,到第三个字节时确定了要通讯的子机01,然后后面的数据只有01接收,那么握手信号是干什么的呢,不能直接就发从机地址吗,还有如果我想任意选定主机,是不是就先得把主机地址发出去,这样从机应答时才能和主机联系上
cjj796
2013-12-18 · TA获得超过8709个赞
知道大有可为答主
回答量:1.3万
采纳率:68%
帮助的人:3468万
展开全部
你好!
那你应该是会232的通讯编程了,只要改一下就能在485使用
1、因为232是点对点的通讯,通讯的时候不用带地址,简易通讯方式
而485是多机通讯,对每台设备都要有一个独立的地址,用来识别不同的设备!
2、因为485是单向通讯,因此为了能收发,485芯片有一个使能端,
通过使能端的控制,完成收发的转换!
3、通过上面两点,编写相应的程序完成485通讯!
追问
你好,我现在会的是51之间不用485,直接的主从结构通讯的编程(就是利用SM2,TB8),我想问一下用485会有什么区别
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式