PC机与多单片机通信 点击:1238 | 回复:2



danasun

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 7回
  • 年度积分:0
  • 历史总积分:19
  • 注册:2004年1月07日
发表于:2004-03-23 18:32:00
楼主
我现在用rs485做一个系统,主要是再pc上通过转接头来把rs232转成了485,然后与单片机的RS485接口(用max485芯片)相连。每个单片机采集各自的数据等待PC机的呼叫。 主机(PC机)呼叫的是从机的地址,下位机(单片机)查询到是自己的地址码后回送数据。   1.单片设为1#号机一对一(pc对一台单片机)没有问题,主机发地址,从机能返回对应数据,一切正常。 2.但是如果再接上另一个号单片机,则主机(pc机)发下位机地址时,只有供电电源较高的那个单片机回应。比如1#机的供电电源是5.4V,而2#机的供电电源是5.2V,则只有1#机相应,而2#机无论如何都没反映但是2#机的RXD脚是有动静的。按道理这跟供电电压没什么关系亚?!但是这个时候没有反映.再发1#号机地址(供电电压高的机子),1#号机子又响应.就好像1#和2#机来了个竞争,谁电压高谁反映.   我在单片机程序中每次接受后都有清ri,并如查得是本机号码都CLR SM2,发送数据后,两台机子的rs485都是处于接受态,SM2都置1.按道理不应该有这种现象.两台单片机程序一样.   且半双工的方向控制确定没有错且都及时调整了,不然一对一发送也不会成功了.   实在不明白为什么会这样,把很多因数都考虑了 ,很茫然现在.   希望大家给点建议.   我的email:   danasun@sohu.com   qq:9216289   希望大家帮帮我,快郁闷死了.谢谢



danasun

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 7回
  • 年度积分:0
  • 历史总积分:19
  • 注册:2004年1月07日
发表于:2004-03-28 11:56:00
1楼
我得问题解决的,谢谢大家的帮助.

yhsu

  • 精华:1帖
  • 求助:0帖
  • 帖子:5帖 | 98回
  • 年度积分:0
  • 历史总积分:126
  • 注册:2002年7月04日
发表于:2004-04-01 18:01:00
2楼
应该是你软件(51)逻辑的问题。可以再看看2#收到了什么。:)

热门招聘
相关主题

官方公众号

智造工程师