串列埠通訊的問題,兩個微控制器之間進行串列埠通訊,它們的時脈頻率不同,在進行資料傳輸是怎麼實現的

2021-03-27 17:21:28 字數 2698 閱讀 1718

1樓:匿名使用者

序列通訊要求的是波特率一致,兩個微控制器的時鐘不一樣,那麼特特率發生器的引數就不一樣,以保證波特率一樣。

如何監控兩個微控制器之間的串列埠通訊資料

2樓:

1.在串列埠通訊的兩根線併入監控裝置,採集通訊訊號。2.在其中一個微控制器寫一段程式,輸出通訊的資料到監控裝置。具體是否可以請試驗驗證。

stc12c5a60s2使用雙串列埠進行通訊時,兩個串列埠在傳送資料時都沒有問題,但接收資料都會丟失,求幫忙! 150

3樓:修者世界

這是可能的,如果接收速度慢了的話,傳送方速度較快,兩個資料傳送間隔較小,那麼可能丟失資料

4樓:匿名使用者

完整**發上來看看。

微控制器串列埠通訊原理

5樓:匿名使用者

1、51系列微控制器的串列埠有4個模式,可分別用作串並轉換、並串轉換、非同步序列通訊(2種模式)。非同步序列通訊中,有1+8+1和1+8+1+1兩種幀格式,多機通訊是特殊的通訊方式。

2、基本原理是兩組移位暫存器。將並行通訊轉換成序列通訊模式(傳送部分),或反之(接收部分)。可全雙工執行。

3、速度通過移位脈衝決定。具體一般通過定時器1的自動裝載模式產生的溢位脈衝給出。

4、電平上採用的是cmos邏輯。

5、以上是物理層和資料鏈路層的微控制器串列埠模組的約定,其他層需要軟體人員根據需要自行把握。另外,電平需要根據實際通訊環境做變換,如232、485或紅外等。

6樓:可以叫我表哥

序列通訊的基本原理:

串列埠的本質功能是作為cpu和序列裝置間的編碼轉換器。當資料從 cpu經過串列埠傳送出去時,位元組資料轉換為序列的位。在接收資料時,序列的位被轉換為位元組資料。

在windows環境(windows nt、win98、windows2000)下,串列埠是系統資源的一部分。

應用程式要使用串列埠進行通訊,必須在使用之前向作業系統提出資源申請要求(開啟串列埠),通訊完成後必須釋放資源(關閉串列埠)。

7樓:匿名使用者

將一個或多個位元組一位一位地通過序列匯流排按照一定的頻率(波特率)傳送出去就是串列埠通訊,接收方和傳送方要有相同的物理設定(如波特率)和協議設定

51微控制器串列埠通訊是全雙工的,但是為什麼又說它的傳送和接受不可以同時進行呢

8樓:仁昌居士

51微控制器串列埠通訊是全雙工的,

傳送和接受可以同時進行。不可以同時進行的是半雙工。

全雙工方式分別由兩根不同的傳輸線傳送資料時,通訊雙方都能在同一時刻進行傳送和接收操作,通訊系統的每一端都設定了傳送器和接收器,因此,能控制資料同時在傳送和接受兩個方向上傳送。

半雙工使用同一根傳輸線既作接收又作傳送,雖然資料可以在兩個方向上傳送,但通訊雙方不能同時收發資料。採用半雙工方式時,通訊系統每一端的傳送器和接收器,通過收/發開關轉接到通訊線上,進行方向的切換,因此,會產生時間延遲。收/發開關實際上是由軟體控制的電子開關。

9樓:匿名使用者

他的意思是說因為cpu不可以同時發出傳送和接受指令,且傳送暫存器只能寫入而接受暫存器只能讀取,所以給這兩個暫存器賦予同一地址。

其實傳送和接收可以同時進行。

10樓:匿名使用者

串列埠有不同的工作方式,方式0不能全雙工,其它的都可以全雙工工作。傳送sbuf和接收sbuf地址是一樣的,但是物理空間是分開的

11樓:匿名使用者

寫這段話的人是不懂裝懂。

收和發用同一個暫存器地址,主要是為了節約地址,8051內部的暫存器地址範圍不多。收和發分別對應讀和寫兩種操作,是完全可以區分開的。而且微控制器讀寫暫存器的速度比串列埠傳送快多了,所以用一個暫存器是完全足夠的。

12樓:**尼奇

全雙工就是可以同時傳送和接受的意思。

你的說法很可能是將全雙工和半雙工搞錯了。

13樓:匿名使用者

收發共用同一個sbuf,同時進行肯定要產生資料衝突的。程式是可以同時執行收發,但資料都衝突了就沒意義了

14樓:匿名使用者

51微控制器在同一時間只可以執行一條程式吧?

15樓:

沒道理,能不能把原話貼出來看看

16樓:2000心安

51的串列埠通訊是全雙工沒錯,但是51的cpu本身沒辦法同時收發資料,簡單說就是它用不上串列埠的全雙工功能。

不同型號的微控制器之間可以進行串列埠通訊嗎?

17樓:匿名使用者

不同微控制器可以通過串列埠進行通訊,如果是兩臺微控制器,一發一收就行了,如果是多個微控制器,就要寫通訊協議,這個就稍微麻煩一點了,如有不明白的可以追問。

18樓:匿名使用者

微控制器之間、微控制器與計算機之間都可以用相同的通訊引數(波特率、效驗位、資料位和停止位)以及通訊協議(常用的是modbus)進行串列埠通訊。

19樓:匿名使用者

只要設定相同的波特率完全可以,這已經是一種標準化的介面。

20樓:匿名使用者

可以通訊,只要你用的引數一樣

微控制器串列埠多機通訊問題,一主多從,各個從機硬體 程式都一樣,請問怎麼實現通訊

一主bai 多從,最好用序列485匯流排方式通du訊,485用兩根線,從zhi機都掛dao著匯流排上,主機以輪巡的方式專訪問從機 屬,對話協議可以用最簡單的485modbus匯流排對話協議。如果是232口,可以用232 485轉換就可以用485匯流排了。不知微控制器能不能有現成的序列485介面板或電...

微控制器中兩個for語句是如何執行的

這兩個for語句相同。是起一個延時的作用,最初i 0,i 0 30000,繼續執行,i 即i自加1為i 1,然後i 1,i 1 300000,繼續執行i 直到i 30000跳出for語句,這個過程微控制器執行需要時間,就起到了一個延時的作用。這個很重要,第一,如果是編劇遺忘,那就太失敗了,因為如果我...

求一微控制器c語言程式 兩個按鍵控制兩個led key1按一下

按一下是有push and release 事件,要計算bounce?要用interrupt 或是polling?既然是微控制器,就用interrupt表示,再寫下流程圖,根據流程圖寫功能程式 byte key1 0,key2 0 irq key1 irq key2 while 1 else if ...