Re: [問題] 8051 中斷問題
※ 引述《peterweli (Fang)》之銘言:
: 我現在要用兩個中斷 , int0和timer0 , int0優先
: 假如已經進入了timer0正在數
: 在timer0其間 , 使int0中斷
: int0後 , 理論上會跳回timer0
: 有辦法執行完int0後 , 不跳回timer0 ,跳到我指定的地方去嗎?
你的敘述有點怪,是指說
1. timer0 中斷發生
2. int0 中斷發生
3. int0 reti
4. timer0 reti
這樣嗎?
不過這樣的話,會有一個現象,就是根本不會跳到 int0 的中斷才對
中斷優先權是指當中斷同時發生時,先處理那一個中斷
而中斷發生時,一般為了避免重覆發生中斷,會在中斷發生時,讓其他中斷不發生
所以,除非你在 timer0 中有把那個 bit 重設,不然不可能在 timer0 中斷程式中
讓 int0 中斷產生
不過你有可能是想要做這樣的動作:
1. timer0 計數,時間到後產生中斷
2. int0 中斷發生
3. int0 reti
4. timer0 不產生中斷
也就是在 int0 產生後,讓 timer0 的中斷不再發生
如果是這樣的話,那就是在 int0 的中斷程式中,將 timer0 interrupt disable
如果要跳到特定的位置時,要把那個位置 push 進 stack 然後 reti,並記得把中斷
前的位置 pop 掉
只看你的敘述,不太清楚你要做啥東西
--
我是路人甲
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 123.204.117.120
推
07/24 21:03, , 1F
07/24 21:03, 1F
→
07/24 21:05, , 2F
07/24 21:05, 2F
→
07/24 21:14, , 3F
07/24 21:14, 3F
→
07/24 21:55, , 4F
07/24 21:55, 4F
→
07/24 21:55, , 5F
07/24 21:55, 5F
→
07/25 20:45, , 6F
07/25 20:45, 6F
→
07/25 20:46, , 7F
07/25 20:46, 7F
→
07/26 00:40, , 8F
07/26 00:40, 8F
→
07/26 00:40, , 9F
07/26 00:40, 9F
→
07/27 19:48, , 10F
07/27 19:48, 10F
討論串 (同標題文章)
ASM 近期熱門文章
PTT數位生活區 即時熱門文章