Re: [討論] RS485
※ 引述《sintsu (sin)》之銘言:
: 裡面分別是SM0 SM1 SM2 REN TB8 RB8 TI RI
: SM0和SM1用來設定傳輸模式,SM2則是485通訊的關鍵之一
: REN是決定是有接收外部的串列資料,TB8&RB8也是多處理機通訊關鍵
: 再呼叫別台設備時,會先送出對方的位址值
: 且多了一個TB8=1的位元代表傳輸的是位址值而不是數據
: 接著才會傳輸數據(TB8=0)
: (我不知道萬一對方沒收到位址或是有錯誤怎麼辦,自己寫交握?)
: 訊號接收端
: 將SCON的SM2位元設定為1,並將收到的串列資料當作是位址,比對是否呼叫自己
: 如果是自己的話,則把SM2設為0,將後來收到的資料視為數據,接收完後再將SM2設為1
: 我有點不太知道RB8要什麼時後設定,資料裡面沒提到,感覺功能跟上面SM2的功能好像
推 loveflames:接收第九個位元時才設RB8? 02/10 04:25
一開始SM2=1、RB8=0,此時為位置接收模式
收到第九個資料位元值為1(TB8=1)的串列資料時
會將第九個資料位元值存入RB8,而RB8=1時進而觸發串列中斷
此時將接收的資料比對是否為自己的address,若是則繼續下面步驟,不是則恢復RB8=0
若判斷address為呼叫自己時,將SM2設定為0,進入一般數據接收模式
接收完數據後最後再將SM2設定為1、將RB8=0,恢復成位置接收模式等待下次呼叫
不知道上面步驟對不對,有請高手指點
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 221.169.181.124
討論串 (同標題文章)
ASM 近期熱門文章
PTT數位生活區 即時熱門文章