標題: CPU正在中斷處理的函數是否會被高優(yōu)先級的打斷? [打印本頁]

作者: 1314love    時間: 2022-9-5 16:53
標題: CPU正在中斷處理的函數是否會被高優(yōu)先級的打斷?
當CPU正在處理中斷函數時,優(yōu)先級更高的中斷會不會打斷這個正在執(zhí)行的中斷函數?

作者: Hephaestus    時間: 2022-9-5 19:57
如果不會的話,你覺得設計中斷優(yōu)先級這個東西有什么用呢?
作者: 非凡科技    時間: 2022-9-5 20:29
不會的,中斷一旦進入不管高低,是不會被更高的打斷,至少STC是這樣
作者: Y_G_G    時間: 2022-9-5 20:52
當我看到這個問題的時候,并不知道答案
然后雙擊打開了STC單片機的數據手冊
找到"中斷"這個章節(jié),再點擊進去,就看到這幾行字了
整個過程大概花了30秒左右
并不是說不能提問,畢竟這是個論壇
但對于你個人而言,一些少許的思考或者是搜索一下還是要有的吧



作者: 188610329    時間: 2022-9-5 22:12
非凡科技 發(fā)表于 2022-9-5 20:29
不會的,中斷一旦進入不管高低,是不會被更高的打斷,至少STC是這樣

做一個 低優(yōu)先極的 外部中斷 INT0,  做一個高優(yōu)先級的定時器中斷 T0,   T0中斷 每20ms 中斷一次, 累加 25次 翻轉LED,即:1秒閃爍一次,  INT0 中斷 響應后 執(zhí)行 while(1); 即:死在中斷里不要出來。 然后,你看看當你 按下按鍵后,LED還閃不閃 就知道 高級中斷能否打斷 低級中斷了, 至少STC是 可以打斷的。
作者: 君工創(chuàng)    時間: 2022-9-5 22:52
Y_G_G 發(fā)表于 2022-9-5 20:52
當我看到這個問題的時候,并不知道答案
然后雙擊打開了STC單片機的數據手冊
找到"中斷"這個章節(jié),再點擊進 ...

看到這兩行字的朋友從此之后明白了這個中斷邏輯。
作者: coody_sz    時間: 2022-9-5 22:53
非凡科技 發(fā)表于 2022-9-5 20:29
不會的,中斷一旦進入不管高低,是不會被更高的打斷,至少STC是這樣

覺得你理解錯誤。STC的中斷是有優(yōu)先級的,高優(yōu)先級的中斷一定可以打斷低優(yōu)先級中斷,測試也很簡單,比如你讓定時器1ms中斷,高優(yōu)先級,中斷取反一個IO輸出500Hz方波。定時器1中斷10ms,低優(yōu)先級,然后在定時器1中斷中延時5ms再退出。你測量會發(fā)現,定時器0的中斷不受影響的。
作者: 杰西Jesse    時間: 2022-9-6 16:01
中斷有優(yōu)先級的。。。。
作者: yzwzfyz    時間: 2022-9-7 11:15
重復一下沙發(fā)的話
作者: XCYYLX    時間: 2022-9-8 19:43
這屬于中斷嵌套了,看S7-200的是不能中斷嵌套的,也就是說,當銀牌客戶正在柜臺辦理業(yè)務,是不能被金牌用戶中斷的,它的優(yōu)先級只是中斷隊列里的優(yōu)先。
作者: qazwsx111111    時間: 2022-9-9 04:48
高優(yōu)先級的中斷請求可以打斷低優(yōu)先級的中斷,反之,低優(yōu)先級的中斷請求不可以打斷高優(yōu)先級及同優(yōu)先級的中斷。當兩個相同優(yōu)先級的中斷同時產生時,將由查詢次序來決定系統(tǒng)先響應哪個中斷。
作者: dreamjack    時間: 2022-9-9 06:50
分兩種情況:1. 優(yōu)先級低正在發(fā)生,開始進入  進入中斷或退出中斷  的過程,是不會被中斷的;2.優(yōu)先級低的中斷正在執(zhí)行你所寫的代碼時,執(zhí)行完當前指令,會暫時中止該程序執(zhí)行,進入優(yōu)先級高的中斷。
作者: 大漠落日    時間: 2022-9-9 07:28
會出現中斷嵌套現象,如果你的程序不允許,就在進中斷后關閉中斷,退出前開中斷,
作者: wufa1986    時間: 2022-9-9 09:21
不同芯片有所不同,51是不能套嵌,但是很多芯片都能套嵌,就會打斷中斷
作者: 188610329    時間: 2022-9-9 10:50
wufa1986 發(fā)表于 2022-9-9 09:21
不同芯片有所不同,51是不能套嵌,但是很多芯片都能套嵌,就會打斷中斷

很多芯片不能嵌套,偏偏51是可以嵌套的,IP這個寄存器是51的標配,就是設優(yōu)先級的。至于多級嵌套,那是到了增強51才有的。




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1