标题:
单片机多机通信相关问题 怎样实现A给B通信,B给C通信,C给A通信?求建议
[打印本页]
作者:
莫奈
时间:
2017-6-6 21:07
标题:
单片机多机通信相关问题 怎样实现A给B通信,B给C通信,C给A通信?求建议
求解,怎样实现A给B通信,B给C通信,C给A通信?望各位大神给一些建议。
作者:
lingwise
时间:
2017-6-7 11:58
如果单片机有多个串口或者SPI/自定义通讯口,可以A通讯口1接B通讯口1,B通讯口2接C通讯口1.C通讯口2接D通讯口1....
如果有串口建议用485总线,CAN总线,时分复用,
每个节点设定一个地址,检测到发给自己的数据就回应,不是就忽略。
一、一个主机多个从机,主机轮询分级,分级做应答,
二、数据量少可以主机主动往总线发送,各个节点检测到是发给自己,就把应答的数据发到总线上。
三、发送前最好检测是否当前有数据再发送,发送过后无应答可以重发,但是最好通过节点的编号错开不同的时间重发,避免无休止的数据重发冲突
作者:
cjjcjj1
时间:
2017-6-7 12:53
提示:
作者被禁止或删除 内容自动屏蔽
作者:
dzbj
时间:
2017-6-7 13:50
都在一个通讯总线上 每个模块规定来源码和目标码 接收到来源码后对比 符合条件的响应否则丢弃 这样的好处是硬件都在一个总线里 可以随意定义谁是ABC
其实和楼上各位前辈的意思相同 基本上 都这么干 至于用什么去通讯要看你实际情况了 SPI 485 CAN TTL都一样 一两米的距离TTL最方便 长距离当然485好 可以理解成就是TTL的延伸 CAN用于高速多模块通讯好 简单的应用里硬件要复杂一些 至少51是没有集成CAN控制器的 带CAN控制器的MCU通常资料比较少 有点问题搞起来麻烦
作者:
华兴程达
时间:
2017-6-7 14:44
用CAN总线最好,485总线容易出问题,经验之谈
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1