我的硬件是STC11F04XE的uart连接MAX485,共4套连接在总线上,线长40cm。其中三个单片机处于接受状态,一个处于发送状态。进过反复试验发现:如果无间隔连续发送4个字节数据,那么只能收到前2个字节。如果间隔1秒或更长时间连续发送,无论多少字节都能正确接收。又用PC机串口转485与一个单片机点对点通信,单片机程序为中断收到4个字节数据后,转发该4字节数据(无间隔连续发送)。用串口调试助手,一次发送一个字节,发送4次,能收到转发回来的同样4字节数据。鼠标快速连续点击4次发送,单片机不能转发,再点击2-3次发送,才能收到4字节转发过来的数据。若一次发送4字节数据,则发送2次即共发送8字节数据,才收到4字节转发回来的数据,且是两次发送的前2字节。
上述现象,调试无数遍都如此。更换过不同渠道的MAX485以及不同种类的单片机,现象依旧。是485就不能连续接收?不应该!头大,不知该如何调试?请高手指点,给我邮件。c86518@163.com。 |