求教一个485通信,上位机总是收到00和FF FF的问题

2019-07-21 02:57发布

单从机,从机接多个传感器,有adc的,有串口的;传感器数据依次保存在寄存器01-09;从机通过485接wifi采集器传输到系统。
现在几个从机,运行一段时间后,会出现问题,并且不可恢复了。
通过报文看,是这样的,上位机:01 03 00 01 00 09 D4 0C//一次读取9个寄存器的数,服务器上看到从机返回的报文是:01 03 12 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 68 5F。
9个寄存器,竟然数值不是00 就是FF,而且校验码竟然还是对的!
问题是我程序里实在没逻辑返回00或者FF啊,我从机的单片机读取传感器数值,要是读取正常,就返回正常读数;读取不正常,寄存器就没有更新,返回的是上一次正常读取的数值;假如上电就读取不正常,那返回的是寄存器的初始值,初始值也不是00或者FF啊。
我实在是想不明白怎么会返回00 或者FF,还这么依次间隔这么工整,并且校验码都还是对的。
请各位大牛帮帮忙,小弟感觉无从着手了。


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。