第1个回答 2020-06-11
485通信是没有缓冲的啊,主机向下发送数据,是以广播形式发送的,下面的从设备都接收到数据,对比数据中的ID号,对应上了,回应相关指令,不是自己的ID号,直接丢弃数据。
主机控制一切,发送指令,等下位机反馈指令,在设定的时间内没有得到反馈,就一直等待,如果超过设定时间,继续发送指令或者执行下一个指令,这个好像和反馈报文长度关系不大啊。主要是看你主机软件的设计啊。
第2个回答 2019-08-06
一般串口多机通讯都是采用问答式的通讯形式,主机向下位机发送命令数据,每个下位机都接到命令,然后下位机进行命令判断,比如是针对某一机号(地址)的从机的读取命令,则该从机返回相应命令,其他从机则无返回;rs232转rs485只是将数据处理,与通讯原理没多大关系
第3个回答 2019-04-07
你是先接收完了
在判断这个数据是不是你需要
还是先判断这个是不是你需要的地址在接收呢
每个单片机都又自己的固定的地址
要是接收了不是你的信息
你就把接收缓冲去地址清0
把485置为发送就行了
这是属于错误处理
至于反馈报文长度
这就需要主机与单片机之间协定好通信协议
只要按照这个协议
双方就可以通信了