RS485连接多个设备时,的通信
用RS232转485,控制多个设备,当主机通过串口发送数据后。数据存在缓冲区,被设备哪个设备取走呢?我知道设备是通过id区分是不是发给自己的,要是接收了不是发给自己的信息...
用RS232转485,控制多个设备,当主机通过串口发送数据后。数据存在缓冲区,被设备哪个设备取走呢?我知道设备是通过id区分是不是发给自己的,要是接收了不是发给自己的信息,缓冲区内没有数据,别的设备不就接收不到了吗?
同理,主机读数据时也有同样的疑问,如果两台设备的反馈报文长度不一样,怎么办。
或者,是485只能连接多个反馈报文长度相同的设备。
请高人指点。 展开
同理,主机读数据时也有同样的疑问,如果两台设备的反馈报文长度不一样,怎么办。
或者,是485只能连接多个反馈报文长度相同的设备。
请高人指点。 展开
展开全部
485通信是没有缓冲的啊,主机向下发送数据,是以广播形式发送的,下面的从设备都接收到数据,对比数据中的ID号,对应上了,回应相关指令,不是自己的ID号,直接丢弃数据。
主机控制一切,发送指令,等下位机反馈指令,在设定的时间内没有得到反馈,就一直等待,如果超过设定时间,继续发送指令或者执行下一个指令,这个好像和反馈报文长度关系不大啊。主要是看你主机软件的设计啊。
主机控制一切,发送指令,等下位机反馈指令,在设定的时间内没有得到反馈,就一直等待,如果超过设定时间,继续发送指令或者执行下一个指令,这个好像和反馈报文长度关系不大啊。主要是看你主机软件的设计啊。
参考资料: http://www.com-tcp.cn/jishu/485zongxian.htm
展开全部
你是先接收完了 在判断这个数据是不是你需要 还是先判断这个是不是你需要的地址在接收呢
每个单片机都又自己的固定的地址 要是接收了不是你的信息 你就把接收缓冲去地址清0 把485置为发送就行了 这是属于错误处理 至于反馈报文长度 这就需要主机与单片机之间协定好通信协议 只要按照这个协议 双方就可以通信了
每个单片机都又自己的固定的地址 要是接收了不是你的信息 你就把接收缓冲去地址清0 把485置为发送就行了 这是属于错误处理 至于反馈报文长度 这就需要主机与单片机之间协定好通信协议 只要按照这个协议 双方就可以通信了
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-05-31
展开全部
据说是先对应ID号,如果ID号匹配,则开始接受数据,如果不匹配则继续处于等待接收的状态
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询