用兩個51微控制器實現其中微控制器兩個兩個位元組串列埠資料傳送

2022-11-20 01:10:04 字數 3420 閱讀 9165

1樓:做而論道

單一位元組傳送接收可以,只能說明軟體、硬體,基本調通;

要想傳送資料,還必須制定通訊協議。

傳送方,先向對方呼叫,待收到正確的迴音後;

再向對方傳送「資料的位元組數」;

再向對方連續傳送資料位元組串,對方收到,存放到一個快取空間;

傳送方,最後向對方發出校驗位元組(一般是累加和);

待收到正確的迴音後,一次資料通訊才算結束。

2樓:

微控制器的串列埠通訊其實是以bit為單位傳送的,收到1位元組後觸發中斷,不管你是要這邊發2個甚至更多,都是一個原理,先開闢一段記憶體地址作為接收快取,接受後先儲存到這個地址中,等接收完往外部的ram中寫,另外你說的寫外擴ram時間長可能不大對吧,不知道你用的多少的波特率,比如9600發一個位元組大概在1ms左右,而寫ram的時間基本都在us級,是不應該出現這個問題的啊~

3樓:匿名使用者

用快取,先把接收到的第一個位元組存起來,等第二個位元組接收到了以後再一起傳送

4樓:旅行之翼

從51微控制器的序列口原理來看,非同步通訊中是不可以實現雙位元組傳送的,你可以試下同步通訊,這樣一來你就得認真算好時間了,所以照你的描述關鍵還是在時間的計算上。祝好!

兩個51微控制器間採用串列埠互相傳送接收一個位元組的c語言程式

5樓:匿名使用者

你好!串列埠傳送字元後,要怎麼處理

如何51微控制器的串列埠傳送多個資料和接受多個資料

6樓:匿名使用者

你傳送時,用迴圈控制,發幾個位元組,迴圈幾次。連續傳送多個資料,都是小意思,也是最基本的了。

接收更好辦了,用中斷接收,中斷一次接收一次,你就儲存一次唄,這有什麼難的。

51微控制器同時接兩個串列埠裝置可以嗎?

7樓:匿名使用者

你好!你這樣接的結果是,兩個232串列埠裝置都會通訊異常,建議你改成 485

8樓:匿名使用者

1.可以,如果要使用同一個通訊口,需要使用網路通訊協議,例如modbus協議。

2.不好說,通訊協議定義不同不能通用,除非各個裝置能各自相容。

如果要實現一條通訊線上誰都可以訪問任何的其他裝置,則成為多主機網路,這時就麻煩的多了。

51微控制器通過串列埠不斷連續傳送兩次資料(一次傳送8位,先發a,再發b),另一個51微控制器進行接收,

9樓:匿名使用者

想非常安全,那就要有接收確認機制。

1,傳送a

2,接收微控制器接收到後返回相同值,

3,傳送微控制器接收到返回的a,完成一次傳送。

4,再傳送b,

5,接收微控制器接收到b返回相同值,

6,傳送微控制器接收到返回的b,完成一次傳送。

其實就是1,2,3步驟的重複。如果返回的資料不是傳送的資料那就再回到1

10樓:

如果可以的話你每幀資料發三個位元組

就是說你發c,a,b

接收微控制器收到了c就知道下一個來的是a而非bc是你隨便定義的一個數就可以

我今天用兩個51微控制器通訊 上位機傳送一個資料下位機怎麼接收兩個資料?

11樓:摘一把青梅煮酒

整個系統怎麼連線的?

上位機用的什麼?串列埠除錯助手?

兩個51微控制器你怎麼連的?斷開其中一個微控制器的結果如何?

12樓:匿名使用者

這個還要從上位機程式入手了,看看是不是你的迴圈條件是不是有點小問題。

13樓:電子瘋人

程式和硬體都沒有。。能給你解決了那才是神呢

14樓:匿名使用者

波特率設定匹配嗎?檢查一下。

怎麼把一個數字從一個微控制器傳輸到另一個微控制器? 10

15樓:零妖

可以使用串列埠最簡單。稍微複雜點可以使用spi通訊,iic也行。

16樓:匿名使用者

你好!如果只是單向傳輸,一根線連線兩個微控制器,就能完成資料傳輸

17樓:匿名使用者

就是兩個微控制器之間的通訊

可以使用串列埠通訊,iic等

18樓:晨曦的煙雨

串列埠,所有微控制器至少帶有一個串列埠

19樓:匿名使用者

用串列埠通訊即可,現在一般的微控制器都有串列埠。

20樓:匿名使用者

1.無線可以利用藍芽模組

2.利用iic spi 這些都可以的。

21樓:w心靜思遠

術語叫「多機通訊」,不僅可以兩個微控制器互相傳輸,還可以多個微控制器傳輸,其中一個為主機,其他的為從機。

51系列微控制器還可以叫「串列埠通訊」,就是通過txd,rxd,兩個引腳互相傳輸,一個微控制器的傳送端txd連線另一個微控制器的接收端rxd,通過編寫傳輸程式就可以達到資料的傳輸。

具體的程式要根據傳輸的內容來編寫,建議先學習下「串列埠通訊」的原理和各個暫存器的設定。2023年10月29日12:29:14

22樓:匿名使用者

連線串列埠,就可以了,不算太複雜 。。。。。。。。

23樓:匿名使用者

利用微控制器串列埠通訊。

兩個微控制器之間串列埠通訊為什麼其中一個微控制器接收不到資料呢?求解

24樓:物電的小狗狗

請問一下,兩個微控制器分別是什麼型號,另外你可以檢查一下,是否串列埠線有問題,還有兩個微控制器是否共地了。

25樓:

通常是線路接觸不良。

51微控制器的串列埠通訊,每一次是不是隻能傳送一個位元組,比如說12,是分兩次傳送的嗎,第一次發1,第二 10

26樓:匿名使用者

51微控制器的序列通訊,每次一傳送一幀資料,有用資料最多一個位元組。8位或者9位,9位的話,一位算是校驗位。

27樓:

看你的12是什麼定義的,12可以是一個位元組,如果是ascii的數字碼那就是分兩次了

28樓:煙火夜空

如果你想發的是 字元 '1' 跟字元 『2』(字串「12」),那麼回每次只能發一個字元。必須成『答1』跟『2』分開。

如果你想發的是數字『12』,那麼可以直接發『12』(0x0c)。

串列埠一次只能接收8個位(當然可以設定成 9個位),也就是 一次通訊 1byte 資料。

微控制器實現LED閃光程式,51微控制器實現用按鍵控制led的閃與不閃

感覺要求有些重複 1 每分鐘閃60次,那麼還手動幹嘛?2 一個開關按一下,亮一個,再按一下另一個亮,再按是都滅嗎?還是第一支亮?不能明白你到底想怎麼樣。手動,自動?每分鐘60次 自動閃亮?為什麼又要按?提問題,也要說清楚哦!這種程式設計不難,先會讓一隻led閃。然後不讓led閃,會用按鍵控制兩隻le...

用51微控制器產生方波,用51微控制器產生方波

這個就不需要什麼電路了吧,有個51最小系統板 lcd1602液晶 幾個按鍵就ok了,因為你是輸出脈衝嘛,51也就只能輸出高低電平的脈衝了,外加一個液晶顯示即可。你到網上查一下液晶的連線電路就ok,一大把的。另外你說的程式也並不難啊,頻率這麼低,用定時計數器就可以實現了。可以做一個公式,用頻率或者佔空...

兩個微控制器之間串列埠通訊為什麼其中微控制器接收不到資料呢?求解

請問一下,兩個微控制器分別是什麼型號,另外你可以檢查一下,是否串列埠線有問題,還有兩個微控制器是否共地了。一個 例項,可以參考一下 通常是線路接觸不良。微控制器與dtu通訊,我在微控制器裡 了一個串列埠傳送的程式,連上dtu之後,為什麼dtu收不到資料呢?那還是時序或協議不正確,也可能是dtu沒有正...