|
"您說的1,2,4,5點我記住了,關(guān)于您第三點我的想法是RI=1和TI=1觸發(fā)的中斷函數(shù)屬于同級別的,沒有優(yōu)先級上的區(qū)別,所以要按照先來后到的原則,那么TI=1后向CPU申請的中斷不會被正在執(zhí)行RI=1觸發(fā)的中斷函數(shù)CPU響應(yīng),除非CPU處理完了RI=1出發(fā)的中斷函數(shù)返回斷點,否則CPU不會理睬TI=1觸發(fā)的中斷請求。您覺得我這個解釋是對的嗎?"
RI中斷后,被響應(yīng)。這時TI又來了:
你已經(jīng)響應(yīng)了中斷,所以不存在TI再中斷,但記住這時TI=1。
當(dāng)你完成了RI的處理后,退出中斷服務(wù)程序后,這時由于TI=1,所以中斷會再次發(fā)生,重新進(jìn)入中斷響應(yīng)!
如果你在RI的處理后,在退出中斷服務(wù)程序之前,清除了TI=0,則TI不會產(chǎn)生中斷。
RI與TI是串行中斷的兩個發(fā)生源,它倆一樣,共用同一個中斷入口。如果兩個同時發(fā)生,只要你不清除標(biāo)記(留下任意一個,或兩個都留),則中斷返回后,會又進(jìn)入中斷!所以中斷響應(yīng)后,你要記住清除標(biāo)記。
做一個就清一個,這樣不會出問題。不要做一個RI處理,卻將TI清了,就會遺漏處理TI。
|
|