PC机RS232转422后,全双工与两个ATmega64L(单片机侧使用MAX3081作为485通讯芯片)多机通
我使用两个单片机ATmega64L接口通过芯片MAX3081转换成RS422四线全双工后与PC机通讯,两个通讯输出T+、T-、R+、R-采用并联方式连接,PC机下传要求两个单片机上传数据的通讯协议不同,总有一个无法上传数据,也就是PC机接收不到其中一个单片机上传的数据,另外一路是正确的,不知道其中的原因。如果在两个接收端接上120欧姆的匹配电阻,可以收到,但是两个单片机所发送的字节数和上传数据都是错误的。请知道原因的前辈给予答复!并告知改正的方法,谢谢! 是不是波特率错误? 波特率没有错误,使用的是9600,也不是很高。 这不是几句话能说明的,这是多机通信的系统,“要求两个单片机上传数据的通讯协议不同”我根本看不明白这是什么意思。我的新书大约在10月出版,上面有多机通信的例子。 马潮老师:
我的意思是这样的:PC机的通讯协议包括了单片机的号码(通过拨码开关设置),PC机下传多个字节的数据,这其中包括单片机的号码,所有的单片机都进行所有字节的接收,然后单片机判断是否是PC机下传给自己的,如果是则回传数据字节,如果不是,则放弃数据更新,不做任何数据的上传动作,直到PC机下传数据字节中单片机号码与自己一致为止才有上传动作。
等待您的回复。 你已经很明白了,下位机接收PC的所有命令,判断是否是给自己的,是就回答,不是就不回答。
详细的参考只能等我的书出来后了。
页:
[1]