[討論] RS485

看板ASM (組合語言)作者 (sin)時間18年前 (2007/02/10 03:54), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串1/2 (看更多)
小弟最近剛到這個板上,希望能跟各位前輩討教討教 剛接觸單晶片及相關程式快一年,大部分知識都是自學書上及網路資料所得 所以很多基礎知識不足,若有錯誤觀念還請大家不吝指教,謝謝 因為之前玩過馬達還有RS232串列傳輸,後來玩不出新花樣了...想玩看看RS485 485和232最大的差異就是可以多對多的通訊,距離也加長了很多 目前大多為工業控制使用,而485也可以說是是乙太網路的前身 目前我已經把485硬體的部份完成,不過還沒有測試...因為卡在韌體還沒有寫好 (不知道用韌體稱呼單晶片程式是否不妥?)目前所理解的東西如下 串列傳輸控制有關的暫存器是SCON 裡面分別是SM0 SM1 SM2 REN TB8 RB8 TI RI SM0和SM1用來設定傳輸模式,SM2則是485通訊的關鍵之一 REN是決定是有接收外部的串列資料,TB8&RB8也是多處理機通訊關鍵 TI是發送中斷旗幟、RI是接收中斷旗幟,鮑率設定這邊就先跳過吧:p 接著是通訊協定的部份 因為485是半雙工多對多的通訊,所以每個設備都要有個唯一的位址,有點像mac address 訊號傳送端 再呼叫別台設備時,會先送出對方的位址值 且多了一個TB8=1的位元代表傳輸的是位址值而不是數據 接著才會傳輸數據(TB8=0) (我不知道萬一對方沒收到位址或是有錯誤怎麼辦,自己寫交握?) 訊號接收端 將SCON的SM2位元設定為1,並將收到的串列資料當作是位址,比對是否呼叫自己 如果是自己的話,則把SM2設為0,將後來收到的資料視為數據,接收完後再將SM2設為1 我有點不太知道RB8要什麼時後設定,資料裡面沒提到,感覺功能跟上面SM2的功能好像@@ 講的有點語無倫次,請見諒 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.104.117.214

02/10 04:25, , 1F
接收第九個位元時才設RB8?
02/10 04:25, 1F
文章代碼(AID): #15pD69G7 (ASM)
討論串 (同標題文章)
以下文章回應了本文
完整討論串 (本文為第 1 之 2 篇):
1
1
18年前, 02/10
文章代碼(AID): #15pD69G7 (ASM)