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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

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

查看數: 3497 | 評論數: 29 | 收藏 0
關燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發布時間: 2023-1-3 06:00

正文摘要:

各位大神好,我想實現一個多點通信的需求,具體如圖: 主機要能識別從機連接自己的哪個接口,并將該信息記錄下來,現在的問題是怎樣識別自己的哪個端口連接著從機,望各位大神不吝賜教!!感謝。

回復

ID:1034262 發表于 2023-1-12 11:46
RS485多機通信我基本都用MODBUS-RTU協議,每個點都有一個固定位移的地址。
ID:408539 發表于 2023-1-11 17:02
用多個串口,不是很好識別么,,那個串口接收到數據  標記一下就好了么  
ID:1057447 發表于 2023-1-5 02:40
冰火風輪 發表于 2023-1-4 13:01
LED換成光耦,單片機就能自己識別了

好的,謝謝,我學習一下,感謝大家,給大家添麻煩了!
ID:1057447 發表于 2023-1-5 02:39
名字不是重點 發表于 2023-1-3 17:49
一個MAX487E只能有一個485,你主機上有8個端口,就需要有8片487,8片IC你總不會所有IO都并聯接到MCU上吧 ...

我現在想到的也是用io口來區分,就是不知道電路怎么實現
ID:1057447 發表于 2023-1-5 02:36
primoliuyang 發表于 2023-1-3 16:19
UART走總線,從機編址即可

我要實現的不是標識從機呀,我是要實現主機感知自己的哪個接口在和從機通信,至于對端是哪個從機,主機并不關心。給從機編址只能標識從機,不能標識主機的物理口呀
ID:1057447 發表于 2023-1-5 02:30
lhzw2001 發表于 2023-1-3 16:12
主機8個口,哪個口有數據回復,不就知道從機接在哪個口嗎?

人可以知道,比如通過看哪根線連接了哪個端口,485怎么能知道哪個芯片對應哪個端口呢?485芯片不能編址。∧芫幹返氖菑臋C,我不需要知道是哪個從機發給我的,我要知道是哪個485芯片接收的。簡單來說就是單片機沒法給多個485芯片進行編號,所以單片機沒法區分是1號芯片收到的信號還是8號芯片收到的。
ID:955673 發表于 2023-1-4 13:01
fczxg 發表于 2023-1-3 16:00
那只能每個端口接一個LED,用眼睛去看啦,我想做到的是單片機自己識別是從哪個485端口收到的信息

LED換成光耦,單片機就能自己識別了
ID:384109 發表于 2023-1-4 12:41
樓主應該還沒有做過有關485通訊的硬件設計,拋開了硬件設計是沒法討論功能需求的
ID:1034262 發表于 2023-1-4 11:16
要解決端口硬件沖突、使用軟件器件識別協議。
ID:161164 發表于 2023-1-3 20:56
fczxg 發表于 2023-1-3 15:58
是呀,可以UART只有一對引腳,關鍵是如果不對485芯片進行標識(編號),怎么識別是從哪個485芯片(不是從 ...

使能腳來控制
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。還有什么好糾結的?
我被你整懵了都....
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了?
ID:609560 發表于 2023-1-3 16:19
UART走總線,從機編址即可
ID:203661 發表于 2023-1-3 16:12
主機8個口,哪個口有數據回復,不就知道從機接在哪個口嗎?
ID:384109 發表于 2023-1-3 16:10
樓主應該先好好理解一下什么是485
ID:1057447 發表于 2023-1-3 16:07
名字不是重點 發表于 2023-1-3 15:06
協議做的事情多了去了。前提是你的協議夠強大、完善!
1、從機上電后不停發送某個信息字,比如“?”
2 ...

非常感謝您,我說的“485端口編號”不是簡單地做端口區分,是固定的端口名稱(比如端口1就是0x01,端口255就是0xFF),如果只是解決通信問題,那封裝協議就能解決,但是要標識物理接口,這個要怎么做?我的51上不可能有256個UART口呀,但是MAX487E又不能編程,沒法在芯片里燒一個地址進去
ID:1057447 發表于 2023-1-3 16:02
maoizhou 發表于 2023-1-3 15:18
主機的8個接口是分別獨立的吧,主機通訊的時候用的哪個口有回應就是接到的哪個端口

是的呀,比如我用8個485芯片,但是51上的UART口只有一個,單片機怎么通過這一個UART口區分不同的485芯片呢,485芯片又不能編程,沒法在485芯片里寫地址
ID:1057447 發表于 2023-1-3 16:00
maoizhou 發表于 2023-1-3 15:18
主機的8個接口是分別獨立的吧,主機通訊的時候用的哪個口有回應就是接到的哪個端口

那只能每個端口接一個LED,用眼睛去看啦,我想做到的是單片機自己識別是從哪個485端口收到的信息
ID:1057447 發表于 2023-1-3 15:59
lkc8210 發表于 2023-1-3 15:09
STC89C52要加485芯片來轉換TTL信號吧?
8個485端口就要8個485芯片
芯片上有使能腳來控制

問題的關鍵就是“有信號傳回,就是那個端口接上了從機”那個端口是哪個端口
ID:1057447 發表于 2023-1-3 15:58
lkc8210 發表于 2023-1-3 15:09
STC89C52要加485芯片來轉換TTL信號吧?
8個485端口就要8個485芯片
芯片上有使能腳來控制

是呀,可以UART只有一對引腳,關鍵是如果不對485芯片進行標識(編號),怎么識別是從哪個485芯片(不是從機)接收的數據呢?
ID:1057447 發表于 2023-1-3 15:55
名字不是重點 發表于 2023-1-3 15:06
協議做的事情多了去了。前提是你的協議夠強大、完善!
1、從機上電后不停發送某個信息字,比如“?”
2 ...

非常感謝,但是雖然兩邊都有地址了,問題是我怎么知道哪個地址對應的我的1-8哪個485接口呢?
ID:1060170 發表于 2023-1-3 15:18
主機的8個接口是分別獨立的吧,主機通訊的時候用的哪個口有回應就是接到的哪個端口
ID:161164 發表于 2023-1-3 15:09
STC89C52要加485芯片來轉換TTL信號吧?
8個485端口就要8個485芯片
芯片上有使能腳來控制
通信時每次只使能一個485芯片
有信號傳回,就是那個端口接上了從機
ID:824490 發表于 2023-1-3 15:06
fczxg 發表于 2023-1-3 14:31
協議解決不了主機485端口編號的問題呀,最多只能解決從機標識問題,比如給從機編址,但我不關心從機的標 ...

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

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

希望能幫到你。。
ID:1057447 發表于 2023-1-3 14:31
cnos 發表于 2023-1-3 12:06
這個是協議問題
你先用中文把確認過程寫下來,然后就很容易變成代碼。

協議解決不了主機485端口編號的問題呀,最多只能解決從機標識問題,比如給從機編址,但我不關心從機的標識,我關心的是主機的485端口號
ID:1057447 發表于 2023-1-3 14:20
協議解決不了物理端口編號的問題呀,主機他關心的是我的哪個端口連接了從機,不用關心連接了哪個從機。如果只是標識不同的從機,那給從機編個地址就好了,現在是要給485端口編地址,485芯片也沒這功能呀
ID:1057447 發表于 2023-1-3 14:15
關鍵是怎么給485物理端口編號,當從機插上主機的任意485口后,主機從哪里讀取端口編號信息呢?注意是主機讀取主機自己的485端口信息,不是讀取從機的標識信息,我不需要知道我連了哪個從機,我只要知道我哪個口連了從機就行
ID:688692 發表于 2023-1-3 12:06
這個是協議問題
你先用中文把確認過程寫下來,然后就很容易變成代碼。
ID:1057447 發表于 2023-1-3 06:01
或者有沒有能夠實現這種需求的芯片,能否推薦一下,不勝感激!!

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: hsck成人网 | 欧美日韩一区精品 | 久久国产一区二区 | 久久久国产精品 | 亚洲精品一 | 日韩波多野结衣 | 亚洲欧美日本在线 | 欧美精品一区久久 | 国产一级特黄真人毛片 | 成人免费观看网站 | 久久久久久高清 | 九九热国产精品视频 | 国产一区二 | 一级大黄色片 | 天天亚洲 | 性高湖久久久久久久久 | 国产精品久久av | 午夜激情在线 | 久久一二三区 | 欧美无乱码久久久免费午夜一区 | 欧美色综合一区二区三区 | 欧美日韩亚洲国产综合 | 福利一区二区 | 精品视频在线播放 | 四虎最新| 成人在线观看免费 | 中文在线一区二区 | 国产日韩欧美精品 | av福利网站 | 亚洲午夜av | 精品99久久 | 欧美一级欧美一级在线播放 | 国产精品99久久久久久久vr | 成人在线看片 | 欧美成人a∨高清免费观看 老司机午夜性大片 | 国产一级特黄aaa大片评分 | 91天堂| 久久综合一区 | 国产视频一区二区 | 欧美黑人狂野猛交老妇 | 精品久久久久久亚洲精品 |