用的MAX3483ESA。两个从机,上位机先是用串口调试助手。 RS232调试通过之后,换RS485,出现部分乱码,情况大致是后半部分无误,但前半部分有乱码。在阿~莫上看到有人说是因为延时的问题,所以在每次发送加入1ms延时后,乱码问题解决。
然后两个从机单独调试通过之后,一起调试出现返回数据缺失和错乱情况。修改过包括匹配电阻,上下拉电阻,线上串联电阻,都没有解决。然后打电话给Maxim的FAE,也不知道原因。后来,发现是代码考虑不够全面。其中一个从机返回数据时,另一个从机也会收到这些数据,可能会有冲突,修改之后,可以正常工作。
每次发送和接收使能位置,需要一定时间的延时。在测试过程中出现过因延时不够而数据缺失的情况。我设置的是5ms。
关于主机结束符和另一从机返回数据的处理不太完善,造成两个从机在切换时,需要重复发送一次指令。此bug待修改。
PS.刚刚看到有被用*号屏蔽的地方,21IC是不是应该多点大侠风范。 |