專注差異化嵌入式產(chǎn)品解決方案 給智能產(chǎn)品定制注入靈魂給予生命
提供開發(fā)工具、應(yīng)用測試 完善的開發(fā)代碼案例庫分享
從全面的產(chǎn)品導(dǎo)入到強大技術(shù)支援服務(wù) 全程貼心伴隨服務(wù),創(chuàng)造無限潛能!
在單片機編程過程中,經(jīng)常會使用到中斷。那么,什么是單片機中斷,它與CPU的輪詢有什么區(qū)別?在本文中,英銳恩單片機開發(fā)工程師將對單片機中斷和CPU輪詢做個簡單的介紹。
中斷:
中斷是一種硬件機制,在這種機制中,設(shè)備會通知CPU它需要引起注意。中斷可以隨時發(fā)生。因此,當CPU通過指示中斷請求線收到中斷信號時,CPU停止當前進程并通過將控制權(quán)傳遞給服務(wù)設(shè)備的中斷處理程序來響應(yīng)該中斷。
輪詢:
輪詢不是一種硬件機制,它是一種協(xié)議,CPU會穩(wěn)定地檢查該設(shè)備是否需要注意。無論設(shè)備告訴處理單元它希望進行硬件處理的位置如何,在輪詢過程中,處理單元都會不斷詢問I/O設(shè)備是否希望進行CPU處理。CPU不斷檢查連接到其上的每個設(shè)備,以偵查是否有任何設(shè)備需要硬件注意。
每個設(shè)備都有一個指示命令就緒的位,指示該設(shè)備的狀態(tài),即該命令是否被硬件終止。如果命令位已準備就緒,則該命令已失效;否則,如果該位為零,則該命令無效。
讓我們看看中斷和輪詢之間的區(qū)別:
1、在中斷時,設(shè)備會通知CPU它需要引起注意。而在輪詢中,CPU會穩(wěn)定地檢查設(shè)備是否需要注意。
2、中斷不是協(xié)議,而是一種硬件機制。輪詢不是硬件機制,而是協(xié)議。
3、在中斷中,該設(shè)備由中斷處理程序提供服務(wù)。輪詢時,該設(shè)備由CPU維修。
4、斷可以隨時發(fā)生。輪詢時,CPU會以固定或適當?shù)拈g隔穩(wěn)定地對設(shè)備進行投票。
5、在中斷中,中斷請求線用作指示設(shè)備需要維修的指示。在輪詢時,命令就緒位用作指示,表明設(shè)備需要維修。
6、在中斷中,一旦任何設(shè)備將其中斷,處理器就會受到干擾。相反,在輪詢中,處理器通過重復(fù)檢查每個設(shè)備的命令就緒位來浪費無數(shù)的處理器周期。
以上就是英銳恩單片機開發(fā)工程師分享的單片機中斷和輪詢之間的區(qū)別。英銳恩專注單片機應(yīng)用方案設(shè)計與開發(fā),提供8位單片機、16位單片機、32位單片機、運放芯片和模擬開關(guān)。