久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3461|回復: 29
打印 上一主題 下一主題
收起左側

單片機多點通信 請教如何實現端口識別?主機識別從機連接自己的哪個接口

  [復制鏈接]
跳轉到指定樓層
樓主
各位大神好,我想實現一個多點通信的需求,具體如圖:


主機要能識別從機連接自己的哪個接口,并將該信息記錄下來,現在的問題是怎樣識別自己的哪個端口連接著從機,望各位大神不吝賜教!!感謝!!

無標題.png (97.18 KB, 下載次數: 74)

無標題.png
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:1057447 發表于 2023-1-3 06:01 | 只看該作者
或者有沒有能夠實現這種需求的芯片,能否推薦一下,不勝感激!!
回復

使用道具 舉報

板凳
ID:688692 發表于 2023-1-3 12:06 | 只看該作者
這個是協議問題
你先用中文把確認過程寫下來,然后就很容易變成代碼。
回復

使用道具 舉報

地板
ID:1057447 發表于 2023-1-3 14:15 | 只看該作者
關鍵是怎么給485物理端口編號,當從機插上主機的任意485口后,主機從哪里讀取端口編號信息呢?注意是主機讀取主機自己的485端口信息,不是讀取從機的標識信息,我不需要知道我連了哪個從機,我只要知道我哪個口連了從機就行
回復

使用道具 舉報

5#
ID:1057447 發表于 2023-1-3 14:20 | 只看該作者
協議解決不了物理端口編號的問題呀,主機他關心的是我的哪個端口連接了從機,不用關心連接了哪個從機。如果只是標識不同的從機,那給從機編個地址就好了,現在是要給485端口編地址,485芯片也沒這功能呀
回復

使用道具 舉報

6#
ID:1057447 發表于 2023-1-3 14:31 | 只看該作者
cnos 發表于 2023-1-3 12:06
這個是協議問題
你先用中文把確認過程寫下來,然后就很容易變成代碼。

協議解決不了主機485端口編號的問題呀,最多只能解決從機標識問題,比如給從機編址,但我不關心從機的標識,我關心的是主機的485端口號
回復

使用道具 舉報

7#
ID:824490 發表于 2023-1-3 15:06 | 只看該作者
fczxg 發表于 2023-1-3 14:31
協議解決不了主機485端口編號的問題呀,最多只能解決從機標識問題,比如給從機編址,但我不關心從機的標 ...

協議做的事情多了去了。前提是你的協議夠強大、完善!
1、從機上電后不停發送某個信息字,比如“?”
2、主機遍歷所有端口,如果有端口收到“?”則來回應“!”
3、從機收到主機發來的“!”表示聯機成功,不南發送“?”轉而發送從機的信息。
4、主機收到從機的信息,從地址池中取一個未被占用的地址發給從機,
5、從機收到地址后,記錄并更新到本地。并回應一個“!”
6、接下來就是各種操作了:

維持心跳:主機時不時發一個"?",詢問從機是否還在線,從機收到“?”后回應“!”,表示還在線。
如果主機發出的“?”沒有回應(超時),則說明從機已掉線,就把地址收回(置未占用態),然后等從機上線,把上邊的1-5再走一次流程。

希望能幫到你。。
回復

使用道具 舉報

8#
ID:161164 發表于 2023-1-3 15:09 | 只看該作者
STC89C52要加485芯片來轉換TTL信號吧?
8個485端口就要8個485芯片
芯片上有使能腳來控制
通信時每次只使能一個485芯片
有信號傳回,就是那個端口接上了從機
回復

使用道具 舉報

9#
ID:1060170 發表于 2023-1-3 15:18 | 只看該作者
主機的8個接口是分別獨立的吧,主機通訊的時候用的哪個口有回應就是接到的哪個端口
回復

使用道具 舉報

10#
ID:1057447 發表于 2023-1-3 15:55 | 只看該作者
名字不是重點 發表于 2023-1-3 15:06
協議做的事情多了去了。前提是你的協議夠強大、完善!
1、從機上電后不停發送某個信息字,比如“?”
2 ...

非常感謝,但是雖然兩邊都有地址了,問題是我怎么知道哪個地址對應的我的1-8哪個485接口呢?
回復

使用道具 舉報

11#
ID:1057447 發表于 2023-1-3 15:58 | 只看該作者
lkc8210 發表于 2023-1-3 15:09
STC89C52要加485芯片來轉換TTL信號吧?
8個485端口就要8個485芯片
芯片上有使能腳來控制

是呀,可以UART只有一對引腳,關鍵是如果不對485芯片進行標識(編號),怎么識別是從哪個485芯片(不是從機)接收的數據呢?
回復

使用道具 舉報

12#
ID:1057447 發表于 2023-1-3 15:59 | 只看該作者
lkc8210 發表于 2023-1-3 15:09
STC89C52要加485芯片來轉換TTL信號吧?
8個485端口就要8個485芯片
芯片上有使能腳來控制

問題的關鍵就是“有信號傳回,就是那個端口接上了從機”那個端口是哪個端口
回復

使用道具 舉報

13#
ID:1057447 發表于 2023-1-3 16:00 | 只看該作者
maoizhou 發表于 2023-1-3 15:18
主機的8個接口是分別獨立的吧,主機通訊的時候用的哪個口有回應就是接到的哪個端口

那只能每個端口接一個LED,用眼睛去看啦,我想做到的是單片機自己識別是從哪個485端口收到的信息
回復

使用道具 舉報

14#
ID:1057447 發表于 2023-1-3 16:02 | 只看該作者
maoizhou 發表于 2023-1-3 15:18
主機的8個接口是分別獨立的吧,主機通訊的時候用的哪個口有回應就是接到的哪個端口

是的呀,比如我用8個485芯片,但是51上的UART口只有一個,單片機怎么通過這一個UART口區分不同的485芯片呢,485芯片又不能編程,沒法在485芯片里寫地址
回復

使用道具 舉報

15#
ID:1057447 發表于 2023-1-3 16:07 | 只看該作者
名字不是重點 發表于 2023-1-3 15:06
協議做的事情多了去了。前提是你的協議夠強大、完善!
1、從機上電后不停發送某個信息字,比如“?”
2 ...

非常感謝您,我說的“485端口編號”不是簡單地做端口區分,是固定的端口名稱(比如端口1就是0x01,端口255就是0xFF),如果只是解決通信問題,那封裝協議就能解決,但是要標識物理接口,這個要怎么做?我的51上不可能有256個UART口呀,但是MAX487E又不能編程,沒法在芯片里燒一個地址進去
回復

使用道具 舉報

16#
ID:384109 發表于 2023-1-3 16:10 | 只看該作者
樓主應該先好好理解一下什么是485
回復

使用道具 舉報

17#
ID:203661 發表于 2023-1-3 16:12 | 只看該作者
主機8個口,哪個口有數據回復,不就知道從機接在哪個口嗎?
回復

使用道具 舉報

18#
ID:609560 發表于 2023-1-3 16:19 | 只看該作者
UART走總線,從機編址即可
回復

使用道具 舉報

19#
ID:824490 發表于 2023-1-3 17:37 | 只看該作者
fczxg 發表于 2023-1-3 16:07
非常感謝您,我說的“485端口編號”不是簡單地做端口區分,是固定的端口名稱(比如端口1就是0x01,端口255 ...

能聯機了,就可以建表了,不管什么端口,都有它固定的ID(地址、標識、片選、STB。。。。),就如我上貼所說:
比如“端口1與從機1發生關系了”,那么,你能操作端口1,說明你就能GET到端口1的ID,再把端口1與從機1關聯上不就OK了?
回復

使用道具 舉報

20#
ID:824490 發表于 2023-1-3 17:49 | 只看該作者
fczxg 發表于 2023-1-3 16:07
非常感謝您,我說的“485端口編號”不是簡單地做端口區分,是固定的端口名稱(比如端口1就是0x01,端口255 ...

一個MAX487E只能有一個485,你主機上有8個端口,就需要有8片487,8片IC你總不會所有IO都并聯接到MCU上吧?那怕各有一個IO是獨立的,不就可以區分8個485端口了?你這個獨立的IO就能看做是485 的ID。還有什么好糾結的?
我被你整懵了都....
回復

使用道具 舉報

21#
ID:161164 發表于 2023-1-3 20:56 | 只看該作者
fczxg 發表于 2023-1-3 15:58
是呀,可以UART只有一對引腳,關鍵是如果不對485芯片進行標識(編號),怎么識別是從哪個485芯片(不是從 ...

使能腳來控制
回復

使用道具 舉報

22#
ID:1034262 發表于 2023-1-4 11:16 | 只看該作者
要解決端口硬件沖突、使用軟件器件識別協議。
回復

使用道具 舉報

23#
ID:384109 發表于 2023-1-4 12:41 | 只看該作者
樓主應該還沒有做過有關485通訊的硬件設計,拋開了硬件設計是沒法討論功能需求的
回復

使用道具 舉報

24#
ID:955673 發表于 2023-1-4 13:01 | 只看該作者
fczxg 發表于 2023-1-3 16:00
那只能每個端口接一個LED,用眼睛去看啦,我想做到的是單片機自己識別是從哪個485端口收到的信息

LED換成光耦,單片機就能自己識別了
回復

使用道具 舉報

25#
ID:1057447 發表于 2023-1-5 02:30 | 只看該作者
lhzw2001 發表于 2023-1-3 16:12
主機8個口,哪個口有數據回復,不就知道從機接在哪個口嗎?

人可以知道,比如通過看哪根線連接了哪個端口,485怎么能知道哪個芯片對應哪個端口呢?485芯片不能編址啊!能編址的是從機,我不需要知道是哪個從機發給我的,我要知道是哪個485芯片接收的。簡單來說就是單片機沒法給多個485芯片進行編號,所以單片機沒法區分是1號芯片收到的信號還是8號芯片收到的。
回復

使用道具 舉報

26#
ID:1057447 發表于 2023-1-5 02:36 | 只看該作者
primoliuyang 發表于 2023-1-3 16:19
UART走總線,從機編址即可

我要實現的不是標識從機呀,我是要實現主機感知自己的哪個接口在和從機通信,至于對端是哪個從機,主機并不關心。給從機編址只能標識從機,不能標識主機的物理口呀
回復

使用道具 舉報

27#
ID:1057447 發表于 2023-1-5 02:39 | 只看該作者
名字不是重點 發表于 2023-1-3 17:49
一個MAX487E只能有一個485,你主機上有8個端口,就需要有8片487,8片IC你總不會所有IO都并聯接到MCU上吧 ...

我現在想到的也是用io口來區分,就是不知道電路怎么實現
回復

使用道具 舉報

28#
ID:1057447 發表于 2023-1-5 02:40 | 只看該作者
冰火風輪 發表于 2023-1-4 13:01
LED換成光耦,單片機就能自己識別了

好的,謝謝,我學習一下,感謝大家,給大家添麻煩了!
回復

使用道具 舉報

29#
ID:408539 發表于 2023-1-11 17:02 | 只看該作者
用多個串口,不是很好識別么,,那個串口接收到數據  標記一下就好了么  
回復

使用道具 舉報

30#
ID:1034262 發表于 2023-1-12 11:46 | 只看該作者
RS485多機通信我基本都用MODBUS-RTU協議,每個點都有一個固定位移的地址。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日韩成人在线观看 | 亚洲黄色一区二区三区 | 草草视频在线免费观看 | 在线看91 | 日韩美女爱爱 | 国产成人网 | 国产精品国产亚洲精品看不卡15 | 91精品入口蜜桃 | 91精品在线播放 | 成人免费观看男女羞羞视频 | 日韩在线视频免费观看 | 在线观看黄色大片 | 国产日韩一区二区三区 | 中文字幕乱码亚洲精品一区 | 久久久.com| 亚洲三级av | 精品日韩一区 | 九色国产 | 久久久久国产精品www | 狠狠操狠狠操 | 亚洲高清三级 | 国产日韩一区二区三免费高清 | 一区二区三区四区国产 | 精品一区二区久久久久久久网站 | 91久久国产综合久久 | 国产精品不卡 | 99国产精品久久久久久久 | 999国产精品视频 | 视频三区| 国产一区在线看 | 一区二区在线 | 久久久久国色av免费观看性色 | 一区在线观看 | 成人免费视频一区 | 91深夜福利视频 | 一级毛片视频 | av一区在线观看 | 日本不卡高字幕在线2019 | 亚洲欧美中文字幕在线观看 | 97视频在线观看免费 | 91视频进入|