微控制器雙機通訊怎樣保證資料不丟失

時間 2022-07-06 20:20:13

1樓:匿名使用者

在傳送的中斷子程式裡不要接收,在接收的中斷子程式裡不要傳送。傳送完成後在中斷子程式裡在一個儲存器上做標記。主程式檢測到這個標記後將其清除然後延時一段時間在再次傳送。

2樓:匿名使用者

哎,還真沒遇到過這種問題,是中斷程式太長還是傳送的速率太高?難道和微控制器處理速度一個數量級?如果真是那你就不用做了,還是換一個更高階的微控制器吧。

先從理論分析用的那塊微控制器能不能處理那麼多事情,如果能處理過來,那就該好好分配一下時間,比如這個資料是分時傳送過來的,而傳過來的實時性不是太高,那就可以中斷中只儲存這些資料,等接收完了再在任務級處理接收到的資料,還是要說,如果接收到資料的同時要處理,而且處理不過來,建議還是換個速度快的微控制器吧。

3樓:龐泰

中斷不要做複雜的運算。一般串列埠的速度不會出現這種問題,所有複雜的運算都放在主函式裡,用時間片去輪詢,而中斷程式裡只做簡單的賦值或者改變標誌位(時間片檢測的標誌位)。這種方式應該可以滿足一般的要求了。

4樓:

樓下說的有道理,我就不說了。

這個就是你程式設計要考慮周全嚴密了。

51微控制器雙機通訊問題

5樓:匿名使用者

是通訊設定出了問題,給你個程式參考,希望能幫你~a機:#include//a機

#define uchar unsigned char#define uint unsigned intuchar tmp;

#define leds p1

void main (void)

}void ser(void) interrupt 4 using 0

else ti=0;

}b機:

#include

#define uchar unsigned char#define uint unsigned int#define key_port p1

void delay(unsigned char delay_time)

void main(void)}}

}void ser(void) interrupt 4 using 0

else ti=0;

6樓:匿名使用者

void main()}

51微控制器雙機通訊問題 10

7樓:

你用串列埠軟體做傳送,看能不能接收。否則就是接收出了問題。

再用串列埠軟體做接收,看傳送成功不。否則就是傳送出了問題。

8樓:匿名使用者

縷縷思路。

現在知道你連線應該沒問題,兩塊板子是共地的嗎?不共地的把地線接好。

確認傳送的沒有問題。可以用萬用表量傳送的電壓,傳送0xaa,有訊號電壓差不多一般的vcc。

先試試吧!

9樓:做而論道

看看這個就會成功了:

10樓:林子卡

哎,大哥,你給的財富值這麼少,看你這個程式至少要半個小時,你認為會有人來回答嗎?好心提醒,還是問問你的老師或者其它同學吧

**了你上傳的微控制器雙機並行通訊 但是裡面只是傳輸一個8位資料 如果我要傳多個位元組那控制線要怎麼控制

11樓:做而論道

主機傳送5個位元組資料給從機 難道從機要5次進入中斷,這是肯定的。

微控制器多機通訊是怎麼回事,微控制器多機通訊的基本原理?

微控制器多機通訊很複雜的,給你解釋下原理,其他的自己到網上去搜下資料,看下程式就可以理解了的。我們學的是51微控制器,我就給你說51微控制器的通訊原理哈!51微控制器具有多機通訊的功能,可實現一臺主機於多臺從機的通訊。多機通訊充分利用了微控制器內部的多機通訊控制位sm2。當從機sm2 1時,從機只接...

微控制器怎麼和手機通訊,你知道嗎,微控制器怎樣與手機通訊????

專注51微控制器 微控制器可以通過藍芽模組和手機通訊。當然也可以通過gsm模組實現通訊。 微控制器一般通過gsm模組或者藍芽模組和手機通訊。這樣開發起來比較方便和簡單。 殘火太刃 藍芽,gprs,gsm都可以的,但是有線的連線需要給手機寫驅動 微控制器怎樣與手機通訊? 1.串列埠對串列埠 不過一般普...

PIC微控制器的序列通訊問題,PIC微控制器序列通訊的波特率又高速和低速之分,請問這兩者有什麼區別

注意,這裡說的高速 低速不是通常說的速度快就是高速,速度慢就是低速。這裡所謂的高速 低速,指的是同一個波特率因子下的波特率的快慢。得看一下式子 高速 波特率 fosc 16 x 1 fosc代表外部晶振 低速 波特率 fosc 64 x 1 從上面的公式可以看到,對同一個x,顯然用 fosc 16 ...