• slider image 514
  • slider image 516
  • slider image 517
  • slider image 518
  • slider image 519
:::


Browsing this Thread:   1 Anonymous Users






Re: 中斷服務程式執行到一半,若外部的中斷再發生一次. ??
#7
版主
版主


查看用戶資訊
本網站就是需要像 Beee 的高手來支援,個人力量及所學畢竟有限。透過經驗交流相互解決問題是本網站的基本精神。
謝謝Beee的支持。

發表於: 2007/5/6 15:23
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 中斷服務程式執行到一半,若外部的中斷再發生一次. ??
#6
資深會員
資深會員


查看用戶資訊
謝謝 版大 1. 的說明 我從沒想到這一層面
鄭重聲明一點 我是特地抓版大的 BUG 的 這是因為 版大的影響力太大
如稍有錯誤 將會影響很多人的學習經驗 更何況又能從中挖到一些寶藏

對不起了 ! 版大..... 又加重您的壓力了

發表於: 2007/5/5 13:04
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 中斷服務程式執行到一半,若外部的中斷再發生一次. ??
#5
版主
版主


查看用戶資訊
參照:
中斷服務程式執行到一半時
此時如果外部的中斷再發生一次 (同一個中斷source)
這時候會發生什麼事情?


Beee,
謝謝你的更正與說明,把原文再看一次看到 " (同一個中斷sourc)" 就知道處理的方式與其它的中斷元處理的方式不一樣。

多重中斷處理在整理一下做個說明 :
1. 兩個中斷以上的發生 : 原則上會一個處理完後先挑出中斷後,程式會馬上再跳進中段程式裡,直到所有的中斷儲列都處理完畢。因為進入中斷時 GIE 會被清零暫時抑制其它的中斷,如果在中斷程式裡將GIE設為一後,則可以變成一層的巢狀式的中斷,會先處理第二次的中斷再回來處理上一次的中斷,不過這樣做要小心。

2. 如果中斷中發生同一source的中斷,就會如 Beee所講的視清除中斷Flag的時機而定。

發表於: 2007/5/5 10:57
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 中斷服務程式執行到一半,若外部的中斷再發生一次. ??
#4
資深會員
資深會員


查看用戶資訊
版主 您錯了 ! 如下列程式....
所以 ISR 基本上要盡快處理 免得錯過 第2 , 3 , 4.....次的旗標設立

; nothing todo but TMR0 RE_ENTER
; File name : RE_ISR.ASM
list p=16f684
#include <p16F684.INC>
__CONFIG _CP_ON & _WDT_OFF & _INTRC_OSC_NOCLKOUT & _PWRTE_ON & _MCLRE_OFF
CBLOCK 0X70
TT1 , TT2 , F1 , X1 , X2 , XX
ENDC
#DEFINE FF TT1 , 0
;===================================================
ORG 0X00
START:
NOP
GOTO MAIN
ORG 0X04
ISR:
BTFSC FF ; 只有第一次進入會托時間
GOTO END_ISR
ISR_1:
DECFSZ TT1 , F ; 托時間
GOTO ISR_1 ;
DECFSZ TT2 , F ;
GOTO ISR_1 ;
BSF FF
END_ISR:
INCF XX , F
BCF INTCON , T0IF
RETFIE
MAIN:
BANKSEL TMR0 ; BANK 0
CLRF TT1
CLRF TT2
CLRF X1
CLRF XX
MOVLW 0X01
MOVWF X2
CLRF TMR0
BANKSEL OPTION_REG ; BANK 1
MOVLW 0X00 ; TMR0 PRESCALE 1:2
MOVWF OPTION_REG ;
MOVLW 0XA0 ; ENABLE TMR0
MOVWF INTCON
BANKSEL TMR0 ; BANK 0
M1:
DECFSZ X1 , F ;
GOTO M1 ; 256 * 3 = 768
DECFSZ X2 , F ;
GOTO M1 ; 第一次中斷後 再二百多 CYCLE 才結束迴圈
CLRF INTCON ; DISABLE INT ; XX 旗標只被 設定 一次
NOP ;
NOP
GOTO $ ; DEAD LOOP
END

發表於: 2007/5/5 7:09
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 中斷服務程式執行到一半,若外部的中斷再發生一次. ??
#3
版主
版主


查看用戶資訊
如果再中斷程式裡又有一個中斷發生,如果沒有特別的設定動作則第二個會被保留直到目前的中斷完成以 RETFIE 返回後,程式會立即跳到中斷去來處理第二次的中斷。基本上發生了幾次中斷都會被處理,但是處理方式是一個接一個的處理。

發表於: 2007/5/2 13:54
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 中斷服務程式執行到一半,若外部的中斷再發生一次. ??
#2
資深會員
資深會員


查看用戶資訊
視旗標而定...
如先清除旗標 , 再發生第二次中斷 , 則跳出ISR 後 , 會立刻再進入 ISR
如發生第二次中斷 再清除旗標 則會被忽略

重點為 FLAG & RETFIE
如未 RETFIE 則被認定尚在 ISR , 無法重新進入 ISR
跳出 ISR 後 , 如有 FLAG 未清除 , 則立即進入 ISR

發表於: 2007/5/2 7:22
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


中斷服務程式執行到一半,若外部的中斷再發生一次. ??
#1
新會員
新會員


查看用戶資訊

中斷服務程式執行到一半時
此時如果外部的中斷再發生一次 (同一個中斷source)
這時候會發生什麼事情?

此時第2個中斷會被忽略嗎??
還是仍然會被執行呢?

發表於: 2007/5/2 0:41
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部







You can view topic.
不可以 發起新主題
You cannot reply to posts.
You cannot edit your posts.
You cannot delete your posts.
You cannot add new polls.
You cannot vote in polls.
You cannot attach files to posts.
You cannot post without approval.
You cannot use topic type.
You cannot use HTML syntax.
You cannot use signature.
You cannot create PDF files.
You cannot get print page.

[進階搜尋]


:::

Microchip連結

https://www.facebook.com/microchiptechnologytaiwan/
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=13
https://mu.microchip.com/page/tmu
http://elearning.microchip.com.tw/modules/tad_link/index.php?cate_sn=1
https://page.microchip.com/APAC-PrefCenters-TW.html
http://www.microchip.com/
http://www.microchip.com/treelink
http://www.microchipdirect.com/
http://www.microchip.com.cn/newcommunity/index.php?m=Video&a=index&id=103
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=2
http://www.microchip.com.tw/Data_CD/eLearning/index.html
http://www.microchip.com.tw/RTC/RTC_DVD/
https://www.microchip.com/development-tools/
https://www.youtube.com/user/MicrochipTechnology
[ more... ]

教育訓練中心

!開發工具購買
辦法說明 [業界客戶] [教育單位]
----------------------------------
!校園樣品申請
辦法說明 [教師資格] [學生資格]
----------------------------------