新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 采用單片機的多機并行通訊系統(tǒng)方案設計

采用單片機的多機并行通訊系統(tǒng)方案設計

作者: 時間:2012-02-29 來源:網(wǎng)絡 收藏

5.2 通訊協(xié)議的執(zhí)行過程

下面以檢測方式為例說明通訊協(xié)議的執(zhí)行過程。

5.2.1 主機向從機寫數(shù)過程:(主機寫, 從機讀)

主機向74HC646寫數(shù)據(jù),然后通知從機有數(shù)據(jù)來,從機從74HC646中讀取數(shù)據(jù)。

① 主機讀取狀態(tài)位,檢測TFNF*位是否為零。

②若TFNF*=1,主機暫時等待;若TFNF*=0,主機向74HC646寫數(shù)據(jù),使TFNF*=1,同時使TFNE*=0。

③ 從機讀取狀態(tài)位,檢測TFNE*位是否為零。若TFNE*=1,從機暫時等待;若TFNE*=0,從機從74HC646讀數(shù)據(jù),使TFNE*=1,同時使TFNF*=0。

④ 主機再次檢測狀態(tài)位TFNF*是否為零,若為“0”,說明從機已將數(shù)據(jù)從74HC646中取走,主機可發(fā)送下一數(shù)據(jù)。

5.2.2 主機讀從機過程:(從機寫, 主機讀)

從機向74HC646寫數(shù)據(jù),然后通知主機有數(shù)據(jù)來,主機收到信號后,將數(shù)據(jù)從74HC646中取走。

① 從機讀取狀態(tài)位,檢測RFNF*位是否為零。

②若RFNF*=1,從機暫時等待;若RFNF*=0,從機向74HC646寫數(shù)據(jù),使RFNF*=1,同時使RFNE*=0。

③ 主機讀取狀態(tài)位,檢測RFNE*位是否為零。若RFNE*=1,主機暫時等待;若RFNE*=0,主機從74HC646讀數(shù)據(jù),使RFNE*=1,同時使RFNF*=0。

④ 從機再次檢測狀態(tài)位RFNF*是否為零,若為“0”,說明從機已將數(shù)據(jù)從74HC646中取走,主機可發(fā)送下一數(shù)據(jù)。

6 流程圖(檢測方式)

檢測方式的程序流程如圖3所示。

本文引用地址:http://butianyuan.cn/article/171986.htm



圖3 檢測方式的程序流程圖

若使用中斷方式, 只需對執(zhí)行過程和流程圖稍加修改即可。


上一頁 1 2 3 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉