用的MEGA8单片机,485芯片为MAX487,一主带三从,主单片机对三从定时发广播信号,广播信号中含有一地址信息,从单片机收到信息后,再检查地址信息,若地址信息与自己相符,则向主单片机上传本地信息。现在遇到的问题是:若三个从单片机都接上去时,系统工作正常,若有某个节点不接,则剩下的两个节点只有一个能正常通信,另一个能收到信息,但地址信息总是不对(因为通过示波器观察到不上传数据);若只接一个节点,工作正常。对通信协议反复修改,将主单片机的广播方式改为依地址轮询方式也还是存在同样的问题(事实上先前的广播方式也是轮询方式,只不过信息大家都能同时接收到),请问大家有遇到过这样的问题吗?怎么解决的,请赐教。
单片机串口设置为9位数据模式,即第一字节为地址,以后为数据。
已经调了两天了,一点进展也没有,都快疯掉了,请大家帮帮忙。
|