看板 ASM 關於我們 聯絡資訊
我現在要用兩個中斷 , int0和timer0 , int0優先 假如已經進入了timer0正在數 在timer0其間 , 使int0中斷 int0後 , 理論上會跳回timer0 有辦法執行完int0後 , 不跳回timer0 ,跳到我指定的地方去嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 219.71.4.212
Aquatics:自行把想去的位址push 到stack裡面,再執行RETI。不過原 07/24 09:44
Aquatics:本被中斷的timer0 程式位址應該還在stack裡面,要自己處 07/24 09:46
Aquatics:理掉。我沒這樣寫過,若上述方法有錯請高手予以告知,謝! 07/24 09:47
squall0734:中斷優先權要設~然後就是Timer再數的時候不算中斷~是時 07/24 13:39
squall0734:間數"到"了才中斷~int0優先的意思是~若同時發生中斷, 07/24 13:40
squall0734:int0先執行完在執行timer0~所以是沒有影響的~~ 07/24 13:41
squall0734:看你是哪個中斷為主~ 07/24 13:42
Aquatics:我覺得S大說的不對,請參考INTEL的8051 manual。 07/24 15:03
Aquatics:A low-priority interrupt can be interrupted by a high 07/24 15:04
Aquatics:prioriy interrupt, but not by another low priority 07/24 15:04
Aquatics:interrupt. 07/24 15:04
squall0734:樓上說的應該是~~當兩個中斷發生時,低優先權的會被高 07/24 16:29
squall0734:優先權的中斷,但不會被其他低優先權的斷(可能我表達 07/24 16:31
squall0734:的不好)~~ 07/24 16:32
squall0734:XD~~我理解錯方向了~~A大的方法沒錯~因為我還碰過這種 07/24 16:36
squall0734:case~還學不到家~ 07/24 16:37
peterweli:感謝A大和s大,我找時間試試看,感恩 07/24 20:47
peterweli:執行中斷後,會存啥東西到STECK 07/24 21:53
Aquatics:會將要return的位址存到stack 07/24 22:39
peterweli:恩恩 謝謝~ 07/25 20:46