人狗畜禽COMPANY LIMITED|全是肉的高H文〈男男〉|全篇肉高H秘书被C办公室四爱|全黄H全肉共妻|全黄H全肉短篇禁乱NP慕浅浅|全黄H全肉短篇N男男

技術熱線: 4007-888-234
設計開發(fā)

專注差異化嵌入式產品解決方案 給智能產品定制注入靈魂給予生命

開發(fā)工具

提供開發(fā)工具、應用測試 完善的開發(fā)代碼案例庫分享

技術支持

從全面的產品導入到強大技術支援服務 全程貼心伴隨服務,創(chuàng)造無限潛能!

新品推廣

提供新的芯片及解決方案,提升客戶產品競爭力

新聞中心

提供最新的單片機資訊,行業(yè)消息以及公司新聞動態(tài)

單片機開發(fā):什么時候使用“輪詢”和“中斷”?

更新時間: 2021-01-11
閱讀量:7167

為單片機方案開發(fā)過程中,可以使用輪詢方法或中斷方法來檢查狀態(tài)或完成特定操作,比如控制外圍設備。在本文中,英銳恩單片機開發(fā)工程師比較了這兩種方法的優(yōu)點和缺點。

20200907170438.png

一、輪詢

輪詢方法僅使用檢查特定標志或多個標志的代碼段來了解操作狀態(tài)。輪詢方法始終是主代碼的一部分,而不是ISR的一部分。

輪詢是一種較簡單的執(zhí)行方法,建議在需要驗證外圍設備工作的設計早期階段使用。它不涉及任何優(yōu)先級。同樣,代碼段將始終在固定的時間和固定的順序中執(zhí)行。它易于調試,對其他代碼段的執(zhí)行沒有影響。沒有大內存管理問題,沒有堆棧問題。

但是它確實有一些缺點,比如錯過事件的可能性更大。這是因為輪詢代碼僅按特定順序執(zhí)行,而不是按響應事件執(zhí)行。這可能會導致一種情況,比如在執(zhí)行輪詢代碼之前連續(xù)發(fā)生兩個事件。在這種情況下,代碼只會執(zhí)行一個事件。此外,輪詢也占用了更多的單片機執(zhí)行時間。輪詢只會重復執(zhí)行相同的代碼段,這與事件發(fā)生與否無關。在單片機方案開發(fā)早期,可以使用輪詢。系統(tǒng)會在特定的時間發(fā)生事件,這是使用輪詢比較好的地方。

一、中斷

即中斷使用控制器的某個功能,從而響應特定事件。執(zhí)行中斷,單片機會停止執(zhí)行主代碼,并切換到另一個稱為“中斷服務程序”的部分。

由于中斷的性質,丟失事件的可能性較小。此外,ISR代碼僅在事件發(fā)生時才執(zhí)行,因此單片機負擔較小。中斷的另一個功能是優(yōu)先級,可以控制系統(tǒng)對同時發(fā)生的事件的響應。嵌套中斷使系統(tǒng)即使在響應前一個事件時發(fā)生事件的情況下也能做出響應,而輪詢可能會錯過此類事件。

但是中斷也有一些缺點:中斷設置起來比較困難,并導致許多復雜性。由于可以隨時中斷主代碼,因此需要保護關鍵程序部分。另外,中斷會延遲主代碼的執(zhí)行時間,并且無法計算主代碼任何部分的執(zhí)行時間,這是因為該過程可能會被中斷延遲。此外,還有許多與中斷有關的堆棧和內存管理問題。由于中斷,很有可能造成數(shù)據(jù)丟失和數(shù)據(jù)損壞。

如果發(fā)生的事件確實是隨機且不可預測的,則需要使用中斷。當必須立即或在固定的時間內對此類事件做出響應時,需要使用輪詢。

輪詢和中斷在代碼開發(fā)中都有其位置和用途,在正確的位置使用正確的方法可以減少代碼復雜性并提高可靠性。

以上就是英銳恩單片機開發(fā)工程師分享的單片機開發(fā)過程中使用中斷和輪詢的相關知識,如果你需要更多單片機方案產品的信息,請撥打官網電話:0755-82543511,或點擊“在線咨詢”,我們的客服人員將為你提供更詳細的解答

清镇市| 长兴县| 青川县| 卓资县| 天门市| 宜川县| 乌拉特前旗| 美姑县| 巴青县| 榆林市| 长葛市| 芦山县| 临高县| 广东省| 南充市| 南康市| 景洪市| 盐亭县| 冕宁县| 静安区| 津南区| 海原县| 汕尾市| 长乐市| 洪洞县| 永平县| 阿克| 壤塘县| 三都| 平塘县| 克山县| 阆中市| 拉孜县| 吉水县| 宜良县| 崇信县| 通州市| 凤冈县| 安顺市| 贡嘎县| 曲靖市|