微控制器多機通訊時,多是主機向從機傳送命令後,從機給出應答訊號,能不能從機主動給主機傳送資料呢,謝謝

2021-08-31 20:01:48 字數 2090 閱讀 9979

1樓:匿名使用者

主機和從機通訊時,不可以從機主動發資料給主機。一般要主機主動去釋出命令,從機去應答,如果從機也主動和主機聯絡,那麼會造成主機接收資料錯誤,或者傳送資料錯誤! 下面分析下原因。

1、首先說明下微控制器多機通訊的原理:簡單點就是多個微控制器txd和rxd連線到一個,主機的txd連線從機的rxd,從機之前是並聯狀態;複雜的呢就是通過rs485晶片,連線方式和上面一樣的,rs485相對來說傳輸資料抗干擾。

2、主機給從機傳送資料,從機怎麼來接收這一幀資料。一般我們是給每個從機都設定一個獨一無二的地址。從機接收到資料首先判斷是不是傳送給自己的,就像是收快遞一樣的。

不是發給自己的,後面的資料就不處理,或者不接收資料。

3、說明下主機和從機的概念。其實主機、從機都是一樣的裝置,作為主機來說,這個裝置要主動去和從機的裝置去溝通,就好像車間的班長和流水線上的操作工,班長去下發任務,操作工根據任務命令去做事。 主機就是去告訴從機,什麼時間去做什麼事。

從機就是等待命令,然後去檢測外部訊號,執行命令。

4、主機和從機通訊的時候,能不能從機主動。明白了主機和從機的概念,深入的想一下,為什麼要主機傳送命令,從機做出應答呢 。一般是主機會和很多從機進行通訊。

主機和從機通訊一般是有個時間的間隔。比如200ms傳送一次,然後切換到下一個從機。 如果主機在傳送資料的時候,從機突然主動和主機聯絡了,那麼 就會出現資料錯誤了,因為主機在傳送資料,傳送的過程中肯定會造成來不及處理接收資料,因為微控制器同時只能處理一件事情。

所以 主機就是要主動聯絡,從機就是要等待主機聯絡之後再回應主機。不然就會出現溝通混亂的問題,在編寫程式的時候一定要注意這一點。

2樓:匿名使用者

這樣不可以,因為從機是多個,誰何時發資料,沒有基準時間;

這樣就會出現兩個(或多個)以上從機同時發資料的可能性,結果可想而知,資料亂了。

所以,都是在主機發出邀請後,相應的從機才可以發資料。

3樓:匿名使用者

一般不可以,因為從機何時發資料沒有約定時間,那麼就會出現兩個以上從機同時發資料的情況,這樣就會造成資料混亂。如果系統一個主機和一個從機,而且按照預先協議要求,在主機等待從機發資料期間,從機就可以發資料了。當然,你就可以認為這個期間從機變為主機了。

4樓:匿名使用者

既然是多機通訊

其工作原理和規則就確定了

由主機輪流問各個從機,

按時間分劃分各個過程,達到依次訪問

迴圈重複,完成主對多的通訊。

5樓:匿名使用者

主機是一個主動發起通訊的裝置,而從機則是被動與主機進行通訊。如果主機在沒有發起與從機進行資料通訊的時候,從機向主機傳送資料主機可以不理或者直接忽視又或者主機壓根就沒接收資料。如果從機在主機沒有說要接收資料的情況下向主機傳送資料,而且還要保證主機接收到了資料,那這裡豈不是從機變成了主機,主機變成了從機。

主從其實是相對的。沒必要那麼糾結。

6樓:阿嚦噶禱

這個沒限制的吧,不同的通訊協議有不同的要求的

7樓:匿名使用者

用令牌方式就可以,但是需要一些邏輯關係處理,比如突然一個從及故障了,後面的怎麼跳過故障從機獲得令牌。

微控制器與多個從機通訊,輪詢方式

8樓:匿名使用者

原理很簡單,485主機先傳送命令,完成後主機進入接收狀態,從機迴應命令然後進入接收狀態

i2c主機發命令,從機迴應

spi主機從機同時傳送資料

9樓:匿名使用者

rs485、i2c和spi不一樣。

rs485、i2c通訊協議中包含從機的地址,從機都不主動傳送資料,主機傳送資料,資料包中包含有從機地址,主機傳送的資料,所有從機都接收,主機傳送完後,轉為接收狀態。從機接收到資料包後,檢測地址與自己的地址一致,就做應答傳送資料。地址不一致,就不處理。

所以rs485、i2c匯流排中的從機地址不能重複。

spi是通過片選訊號實現選擇從機,沒有被選擇的從機,是不結收資料的。

10樓:匿名使用者

一個微控制器 多機通訊 控制的 簡單 **例項,供參考

微控制器串列埠通訊原理微控制器串列埠通訊的原理?

1 51系列微控制器的串列埠有4個模式,可分別用作串並轉換 並串轉換 非同步序列通訊 2種模式 非同步序列通訊中,有1 8 1和1 8 1 1兩種幀格式,多機通訊是特殊的通訊方式。2 基本原理是兩組移位暫存器。將並行通訊轉換成序列通訊模式 傳送部分 或反之 接收部分 可全雙工執行。3 速度通過移位脈...

51微控制器串列埠通訊寫字元,51微控制器串列埠通訊寫一個字元

你主程式這麼寫,傳送一個字元後,微控制器並不停止。應該加一行無限迴圈語句,while 1 才能停,如下 include include unsigned char ch bit read flag 0 void init serialcom void 串列埠通訊初始設定 向串列埠傳送一個字元 voi...

微控制器與觸控式螢幕如何通訊,微控制器與觸控式螢幕通訊

實現單機片與觸控式螢幕通訊有四個步驟 1 觸控式螢幕與微控制器的硬體聯接 2 建立觸控式螢幕與微控制器的內部儲存器地址對應關係 3 觸控式螢幕組態軟體編輯 4 modbus rtu 遠端終端裝置 通訊協議簡介 下面介紹三種方案 第一種使用微控制器 串列埠觸控式螢幕 比較貴點 使用232或者485通訊...