找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 2610|回復(fù): 4
收起左側(cè)

單片機(jī)多機(jī)通信相關(guān)問題 怎樣實(shí)現(xiàn)A給B通信,B給C通信,C給A通信?求建議

[復(fù)制鏈接]
ID:208569 發(fā)表于 2017-6-6 21:07 | 顯示全部樓層 |閱讀模式
求解,怎樣實(shí)現(xiàn)A給B通信,B給C通信,C給A通信?望各位大神給一些建議。
回復(fù)

使用道具 舉報(bào)

ID:62223 發(fā)表于 2017-6-7 11:58 | 顯示全部樓層
如果單片機(jī)有多個(gè)串口或者SPI/自定義通訊口,可以A通訊口1接B通訊口1,B通訊口2接C通訊口1.C通訊口2接D通訊口1....

如果有串口建議用485總線,CAN總線,時(shí)分復(fù)用,
每個(gè)節(jié)點(diǎn)設(shè)定一個(gè)地址,檢測(cè)到發(fā)給自己的數(shù)據(jù)就回應(yīng),不是就忽略。
一、一個(gè)主機(jī)多個(gè)從機(jī),主機(jī)輪詢分級(jí),分級(jí)做應(yīng)答,
二、數(shù)據(jù)量少可以主機(jī)主動(dòng)往總線發(fā)送,各個(gè)節(jié)點(diǎn)檢測(cè)到是發(fā)給自己,就把應(yīng)答的數(shù)據(jù)發(fā)到總線上。
三、發(fā)送前最好檢測(cè)是否當(dāng)前有數(shù)據(jù)再發(fā)送,發(fā)送過后無應(yīng)答可以重發(fā),但是最好通過節(jié)點(diǎn)的編號(hào)錯(cuò)開不同的時(shí)間重發(fā),避免無休止的數(shù)據(jù)重發(fā)沖突
回復(fù)

使用道具 舉報(bào)

ID:82765 發(fā)表于 2017-6-7 12:53 | 顯示全部樓層
提示: 作者被禁止或刪除 內(nèi)容自動(dòng)屏蔽
回復(fù)

使用道具 舉報(bào)

ID:47286 發(fā)表于 2017-6-7 13:50 | 顯示全部樓層
都在一個(gè)通訊總線上 每個(gè)模塊規(guī)定來源碼和目標(biāo)碼 接收到來源碼后對(duì)比 符合條件的響應(yīng)否則丟棄 這樣的好處是硬件都在一個(gè)總線里 可以隨意定義誰是ABC

其實(shí)和樓上各位前輩的意思相同 基本上 都這么干 至于用什么去通訊要看你實(shí)際情況了 SPI 485 CAN TTL都一樣 一兩米的距離TTL最方便 長(zhǎng)距離當(dāng)然485好 可以理解成就是TTL的延伸 CAN用于高速多模塊通訊好 簡(jiǎn)單的應(yīng)用里硬件要復(fù)雜一些 至少51是沒有集成CAN控制器的 帶CAN控制器的MCU通常資料比較少 有點(diǎn)問題搞起來麻煩
回復(fù)

使用道具 舉報(bào)

ID:208804 發(fā)表于 2017-6-7 14:44 | 顯示全部樓層
用CAN總線最好,485總線容易出問題,經(jīng)驗(yàn)之談
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表