欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 17447|回復: 22
收起左側

為什么單片機串行通信一定要有中斷

  [復制鏈接]
ID:377587 發表于 2018-7-22 22:01 | 顯示全部樓層 |閱讀模式
為什么51單片機的串行通信一定要有中斷?初學C51見笑
回復

使用道具 舉報

ID:364341 發表于 2018-7-23 19:59 | 顯示全部樓層

單片機串口收發結束后不一定會中斷,是否中斷取決于初始化時,是否開中斷,即:
EA=1,ES=1,只有這兩個位置1時才會中斷。、出現中斷,是便于你及時進行數據處理。

收到后的中斷函數中,應該把SBUF的數據讀出,并送到其它的位置,騰出SBUF,便于接收下一個數據。

在發送完的中斷函數中,應該發送下一字節。(如果沒有了,當然就不發了。)

評分

參與人數 1黑幣 +40 收起 理由
admin + 40 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

ID:319344 發表于 2018-7-23 22:02 | 顯示全部樓層
單片機與外設的通信有三種方法:查詢,中斷和DMA,這三種方式中,查詢的話你可以理解為循環檢測。在學8位單片機時我沒遇到過DMA,DMA適用于傳輸比較大的數據量,其實也就是傳輸數據的時候不需要CPU參與,當傳輸完成會產生中斷信號通知CPU,不要以為中斷方式和DMA方式一樣,雖然都會產生中斷信號,但中斷方式是通過中斷服務函數不斷將數據放到串口進行傳送,而DMA產生的中斷是數據已經傳送完畢,需要進一步處理,通過中斷服務函數來完成。中斷方式是每發送一個數據就需要產生一次中斷,而DMA是僅最后產生一次中斷

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

ID:277550 發表于 2018-7-23 00:09 | 顯示全部樓層
方便和效率。。。。。。中斷不是必須用。。。。。。。比如接收時,如果不用中斷就要實時監測IO電平變化、再處理

~~~~~~~~~~~

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

ID:213173 發表于 2018-7-23 06:11 | 顯示全部樓層
串行通信不一定要用中斷法,也可以用查詢法,是根據實際需要選擇。

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

ID:378250 發表于 2018-7-24 00:06 | 顯示全部樓層
根據應用實際需要確定的,主要在接收階段如果你一直等接收數據別的工作不做了么?靠給中斷可以讓單片機忙別的,有數據來了他會告訴你。
回復

使用道具 舉報

ID:378250 發表于 2018-7-24 00:08 | 顯示全部樓層
根據實際應用需求確定的,只不過使用中斷你可以讓CPU干別的事情,比如按鍵、顯示什么的,等有通訊數據來了中斷會告訴你,解放CPU的占用。
回復

使用道具 舉報

ID:378250 發表于 2018-7-24 00:08 | 顯示全部樓層
根據實際應用需求確定的,只不過使用中斷你可以讓CPU干別的事情,比如按鍵、顯示什么的,等有通訊數據來了中斷會告訴你,解放CPU的占用。
回復

使用道具 舉報

ID:378296 發表于 2018-7-24 09:06 | 顯示全部樓層
使用中斷系統程序運行效率會大大提高。
回復

使用道具 舉報

ID:363376 發表于 2018-7-24 10:23 | 顯示全部樓層
根據實際的需求來確定吧,可以中斷,也可以查詢。
回復

使用道具 舉報

ID:367835 發表于 2018-7-24 10:49 | 顯示全部樓層
因為串行通信過程中上位機與下位機之間的通信波特率必須保持一致,中斷就是用來產生波特率的,波特率不一致會導致亂碼或接收不到數據
回復

使用道具 舉報

ID:378381 發表于 2018-7-24 11:01 | 顯示全部樓層
也不一定需要中斷,需要是方便程序控制和處理,特別是在接收數據的時候
回復

使用道具 舉報

ID:378745 發表于 2018-7-25 11:19 | 顯示全部樓層
最終就是告訴CPU串口有數據到來或要發送
回復

使用道具 舉報

ID:190815 發表于 2018-7-25 17:57 | 顯示全部樓層
中斷比較方便,效率也高
回復

使用道具 舉報

ID:365824 發表于 2018-7-26 00:14 | 顯示全部樓層
用過51單片機,串口通信時用中斷可以方便數據的發送和接受
回復

使用道具 舉報

ID:375198 發表于 2018-7-26 10:44 | 顯示全部樓層
就像兩人說話,對方正在干活,你冷不丁來一句,他肯定不知道你講什么!你必須要這樣:“嘿!老兄,******”他才能聽見你講的話!這里的“嘿”就是先讓他中斷專心聽你講
回復

使用道具 舉報

ID:309048 發表于 2018-7-26 10:51 | 顯示全部樓層
不一定要有中斷
回復

使用道具 舉報

ID:364776 發表于 2018-7-26 11:20 | 顯示全部樓層
不是一定要的,串行通信有兩種方法的,查詢式和中斷式,如果你不配置中斷,那就可以用查詢,只不過費事
回復

使用道具 舉報

ID:379364 發表于 2018-7-26 12:08 | 顯示全部樓層
因為如果不設置中斷就會一直停留在檢測串口數據的程序一直循環
回復

使用道具 舉報

ID:379364 發表于 2018-7-26 12:10 | 顯示全部樓層
可以實時的接收到串口送來的數據
回復

使用道具 舉報

ID:403795 發表于 2020-11-24 18:02 | 顯示全部樓層
廣州智華-硬件 發表于 2018-7-24 10:49
因為串行通信過程中上位機與下位機之間的通信波特率必須保持一致,中斷就是用來產生波特率的,波特率不一致 ...

中斷=產生波特率?????不是吧
回復

使用道具 舉報

ID:800066 發表于 2020-11-24 20:20 | 顯示全部樓層
單片機與外設的通信有三種方法:查詢,中斷和DMA,
回復

使用道具 舉報

ID:522773 發表于 2020-11-25 19:41 | 顯示全部樓層
中斷可以更有效率,避免反復查詢或者漏掉接收的數據。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表